【发布时间】:2016-08-14 02:36:02
【问题描述】:
我需要读取用户在那一刻的心率。我尝试在 Wear 项目的主要活动中使用此代码。
公共类 MainActivity 扩展 WearableActivity 实现 SensorEventListener { 私有静态最终字符串 TAG = "MainActivity"; 私有TextView mTextViewHeart; 传感器管理器 mSensorManager; 传感器 mHeartRateSensor; 传感器事件监听器传感器事件监听器; @覆盖 protected 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(TAG, "监听器已注册。"); mTextViewHeart.setText("这里有东西"); mSensorManager.registerListener(sensorEventListener, mHeartRateSensor, mSensorManager.SENSOR_DELAY_FASTEST); } 公共无效 onResume(){ 超级.onResume(); } 公共无效onAccuracyChanged(传感器传感器,int精度){ Log.d(TAG, "onAccuracyChanged - 准确度:" + 准确度); } 公共无效 onSensorChanged(SensorEvent 事件){ if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) { 字符串 msg = "" + (int)event.values[0]; mTextViewHeart.setText(msg); 日志.d(标签,味精); } 别的 Log.d(TAG, "未知传感器类型"); } }这段代码根本不起作用,给我一个错误提示:
E/SensorManager﹕传感器或侦听器为空如果我使用除心率传感器之外的其他任何东西,它也可以正常工作。
我正在使用:
- 具有 android API 级别 23 的 LG G4
- 具有 Wear API 级别 23 的 LG Urbane 手表(我知道它有一个心率传感器)
感谢您的帮助。
【问题讨论】: