如何从Android Wear读取心率

我需要在那一刻读取用户的心律。我尝试使用位于Wear项目主要活动中的此代码。

公共类MainActivity扩展WearableActivity实现SensorEventListener {

私有静态最终String TAG =“ MainActivity”;

私人TextView mTextViewHeart;

SensorManager mSensorManager;

传感器mHeartRateSensor;

SensorEventListener sensorEventListener;

@Override

受保护的void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mTextViewHeart =(TextView)findViewById(R.id.heart);

mSensorManager =(((SensorManager)getSystemService(SENSOR_SERVICE));;

mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);

mSensorManager.registerListener(this,mHeartRateSensor,SensorManager.SENSOR_DELAY_NORMAL);

Log.i(标签,“ LISTENER已注册。”);

mTextViewHeart.setText(“这里有事”);

mSensorManager.registerListener(sensorEventListener,mHeartRateSensor,mSensorManager.SENSOR_DELAY_FASTEST);

}

公共无效onResume(){

super.onResume();

}

public void onAccuracyChanged(Sensor sensor,int precision){

Log.d(TAG,“ onAccuracyChanged-精度:” +精度);

}

公共无效onSensorChanged(SensorEvent事件){

如果(event.sensor.getType()== Sensor.TYPE_HEART_RATE){

字符串msg =“” +(int)event.values [0];

mTextViewHeart.setText(msg);

Log.d(TAG,msg);

}

其他

Log.d(TAG,“未知传感器类型”);

}

}

这段代码根本无法正常工作,给我一个错误消息:

E / SensorManager:传感器或侦听器为null

如果我使用除心率传感器以外的任何其他功能,它都可以正常工作。

我在用:

  • 具有Android API级别23的LG G4
  • LG Wear API等级23的LG Urbane手表(我知道有心律传感器)

谢谢您的帮助。

回答:

您在这个问题中看到了同样的问题。我们拥有相同的穿戴设备,因此几乎可以肯定,您

错过了它:

<uses-permission android:name="android.permission.BODY_SENSORS" />

另外,您应该转到“设置”中的“权限”,以检查该权限是否已启用。

您可以在GitHub上检查我的项目,该项目目前正在运行。

以上是 如何从Android Wear读取心率 的全部内容, 来源链接: utcz.com/qa/403048.html

回到顶部