我正在尝试使用 MainActivity.java 上的此代码访问我的 LG Watch Urbane 的心率传感器:
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
boolean sensorRegistered = mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
Log.d("Sensor Status:", " Sensor registered: " + (sensorRegistered ? "yes" : "no"));
Run Code Online (Sandbox Code Playgroud)
问题是我收到此错误:
E/SensorManager: sensor or listener is null
Run Code Online (Sandbox Code Playgroud)
发生该错误是因为没有关联 TYPE_HEART_RATE 的传感器。因此,我编写了一些代码,以便使用 .getSensorList(Sensor.TYPE_ALL) 方法获取传感器的完整列表,我得到了这个:
03-14 02:56:43.221 2936-2936/? I/Sensor list: MPU6515 Accelerometer: 1
03-14 02:56:43.221 2936-2936/? I/Sensor list: AK8963 Magnetometer: 2
03-14 02:56:43.221 2936-2936/? I/Sensor list: AK8963 Magnetometer Uncalibrated: 14
03-14 02:56:43.221 2936-2936/? I/Sensor list: MPU6515 Gyroscope: 4
03-14 02:56:43.221 2936-2936/? …Run Code Online (Sandbox Code Playgroud)