作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在访问 Moto 360 上的心率传感器时遇到问题。
我尝试了以下事情:
Sensor mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
然后实现 SensorEventListener 接口(interface):
@Override
public void onSensorChanged(SensorEvent event) {
String TAG = "tag";
Log.i(TAG, "--------------------------");
Log.i(TAG, msg);
Log.i(TAG, ""+ event.sensor.getType());
Log.i("live","--------------");
令我感到奇怪的是,我根本没有收到任何消息(不仅是心率)。
我也尝试列出所有传感器,但它没有在列表中显示心率传感器。
当然我已经添加了权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.watchtest" >
<uses-feature android:name="android.hardware.type.watch" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
有什么想法吗?
谢谢。
w.
最佳答案
在我完成以下操作后开始为我工作:
从 watch 上卸载了我的应用
adb -s localhost:4444 uninstall com.example.android.wearable.jumpingjack
添加了获取心率传感器的权限
<uses-permission android:name="android.permission.BODY_SENSORS"/>
设置最低和目标 SDK 版本以匹配 watch
android:minSdkVersion="20" android:targetSdkVersion="20"
再次启动应用程序。我收到了带 Sensor.TYPE_HEART_RATE 的心率传感器,我开始接收它的读数。尽管他们远非好事。读数很多,但都一样,仅限于这5个值:
heartRate onSensorChanged values = [0.0], accuracy = 0, sensor = {Sensor name="Heart Rate Sensor", vendor="Motorola", version=1, type=21, maxRange=65535.0, resolution=1.0, power=0.45, minDelay=0}
heartRate onSensorChanged values = [53.0], accuracy = 2, sensor = {Sensor name="Heart Rate Sensor", vendor="Motorola", version=1, type=21, maxRange=65535.0, resolution=1.0, power=0.45, minDelay=0}
heartRate onSensorChanged values = [54.0], accuracy = 2, sensor = {Sensor name="Heart Rate Sensor", vendor="Motorola", version=1, type=21, maxRange=65535.0, resolution=1.0, power=0.45, minDelay=0}
heartRate onSensorChanged values = [55.0], accuracy = 2, sensor = {Sensor name="Heart Rate Sensor", vendor="Motorola", version=1, type=21, maxRange=65535.0, resolution=1.0, power=0.45, minDelay=0}
heartRate onSensorChanged values = [77.0], accuracy = 1, sensor = {Sensor name="Heart Rate Sensor", vendor="Motorola", version=1, type=21, maxRange=65535.0, resolution=1.0, power=0.45, minDelay=0}
大多数时候,我得到的都是相同的 53.0 值,这似乎不是我的真实心率。 77 可能是那个。
关于android - 如何在 Android 可穿戴设备中访问心率传感器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489281/
我是一名优秀的程序员,十分优秀!