在正常采样周期内注册重力传感器的监听器。使用您自己的代码(下面的基本示例)或只安装My Sensors,确保通过菜单将传感器更新速率设置为 Normal 。
Sensor gravitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
sensorManager.registerListener(callback, gravitySensor, SENSOR_DELAY_NORMAL);
观察传感器输出。当设备竖直时,Y轴(event.values[1]
)应报告~9.7。
对我来说这看起来像个错误,因为每次用户摇晃或摆动设备时,数据都会持续10秒,这似乎完全违反直觉。
答案 0 :(得分:1)
当我将传感器采样率设置为以下任何一项时,问题不再出现:
SENSOR_DELAY_GAME
SENSOR_DELAY_FASTEST
54999
或更低不幸的是,如果传感器已被其他应用程序监听,则使用其他应用程序请求的采样率,而不是我的应用程序请求的值。因此,如果另一个应用已经使用SENSOR_DELAY_NORMAL
监听传感器,我的应用只会以该速率获取传感器更新,让我的应用完全无法解决该错误。