gpt4 book ai didi

android - 是否可以在我的应用程序中从 Androidwatch 获取心率更新?

转载 作者:行者123 更新时间:2023-11-29 00:57:49 32 4
gpt4 key购买 nike

我有一个 Android 应用程序,我想从任何连接的 Android watch (Wear OS、Tizen 等)读取心率。如果不开发可穿戴应用,这可能吗?

我尝试在 Sensor.TYPE_HEART_RATE 上注册一个监听器,但我没有看到我显示的 3 款 watch 中的任何一款(Ticwatch E、Ticband、Gear S2)。我确保我请求了 Manifest.permission.BODY_SENSORS 权限。

sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager?

heartRateSensor = sensorManager?.getDefaultSensor(Sensor.TYPE_HEART_RATE)

val registered = sensorManager?.registerListener(this, heartRateSensor, SensorManager.SENSOR_DELAY_NORMAL)
Log.i(TAG, if (registered!!) "Registered Listener" else "Failed to register listener")

最佳答案

我使用 Android Wear watch 、Samsung Gear S2、随机心率健身追踪器 watch (Ticwatch) 和独立的蓝牙心率臂带进行了一些研究。

重申一下,我的目标是通过我的手机应用程序从 watch 传感器读取心率数据,而无需制作 watch 应用程序。

我的发现如下:

  1. 我上面发布的代码示例在我的手机应用程序中,SensorManager 仅适用于设备内置的传感器。例如,如果应用程序在手机上运行,​​我只会在手机上获取传感器,如果在 watch 上,我会在 watch 上获取传感器。这显然是行不通的,因为没有心率传感器出现,除非手机内置了它。 watch 应用程序中的相同代码有效,我能够通过这种方式获得心率。
  2. 使用 Fitness API 和 Samsung Health API,我能够在读取心率时获取手机应用程序的更新。此解决方案的唯一问题是您无法设置心率读数的频率。为了节省电池生命周期,大多数 watch 似乎在静止时每 10 分钟或锻炼期间每隔几秒限制一次间隔。这也不起作用,因为我需要更多的频率更新。
  3. 蓝牙心率臂带是我唯一能够以我想要的频率读取心率的设备。该解决方案需要与显示器配对,但连接很简单,我不需要开发任何 watch 应用程序!

我希望这能阐明 SensorManager 如何仅适用于运行应用程序的设备上的传感器。

关于android - 是否可以在我的应用程序中从 Androidwatch 获取心率更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384050/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com