我需要在那一刻读取用户的心律。我尝试使用位于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手表(我知道有心律传感器)
谢谢您的帮助。