我为 SmartWatch 1 开发了一些利用手表陀螺仪的应用程序。我终于得到了一个 SmartWatch 2 进行开发,但我注意到陀螺仪的响应速度较慢。例如,在 SmartWatch 1 上,无论多么轻微的动作似乎都会被记录下来。然而,在 SmartWatch 2 上,读数似乎在 100 毫秒计时器上运行。以下是我与传感器交互的方式:
private final AccessorySensorEventListener mListener = new AccessorySensorEventListener() {
public void onSensorEvent(AccessorySensorEvent mySensorEvent) {
sensorEvent = mySensorEvent;
float[] values = sensorEvent.getSensorValues();
currentX = values[0];
currentY = values[1];
currentZ = values[2];
}
}
我还尝试了不同的变体来注册我的传感器:
mSensor.registerInterruptListener(mListener);
- 和 -
mSensor.registerListener(mListener, Sensor.SensorRates.SENSOR_DELAY_FASTEST, Sensor.SensorInterruptMode.SENSOR_INTERRUPT_DISABLED);
- 和 -
mSensor.registerFixedRateListener(mListener, Sensor.SensorRates.SENSOR_DELAY_FASTEST);
所有这些似乎都给出了相同的确切效果。我是否对 SmartWatch 2 做错了,或者 SmartWatch 2 中的陀螺仪真的只是反应较慢?