一个听众为3个传感器(加速计,陀螺仪和心率)或3个独立的听众用于所有传感器?
这就是我注册传感器的方式:
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
acc_sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
heart_sensor= sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
这是我目前获取价值观的方法:
if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
}
else if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
}
else if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
}
问题是在一段时间内获得的值的数量是不一致的。 Moto-360的采样率为50,延迟设置为DELAY_FASTEST,如下所示:
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST);
sensorManager.registerListener(this, acc_sensor, SensorManager.SENSOR_DELAY_FASTEST);
sensorManager.registerListener(this,heart_sensor,SensorManager.SENSOR_DELAY_FASTEST);
已经测试了给定值的数量,范围从1秒到4小时,并且采样率(计算自:返回的值除以应用程序运行的秒数)变化太大。 为SensorManager使用3个单独的侦听器可以提供更一致的结果吗?