前提步骤
我们在最后添加好sensor的监听器后,需要注册SensorManager的reg监听器。
ie:
risterListener()方法来注册SensorEventListener才能使其生效
sensorManager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_GAME);
registerListener()方法接收3个参数,第一个参数就是SensorEventListener的实例,第一个参数是Sensor的实例,第三个参数是用于表示传感器输出信息的更新速率,共有SENSOR_DELAY_UI、SENSOR_DELAY_NORMAL、SENSOR_DELAY_GAME和SENSOR_DELAY_FASTEST这四种值可选
如果想知道自己传感器的频率
参考1.
我使用SENSOR_DELAY_GAME频率,测试的结果是每秒钟取值20~25次,我用同学的手机中兴U970,测试结果是每秒钟29次左右
代码如下:
sb.append(1000 / ((System.currentTimeMillis() - MainActivity.start_time) / count));
测试的结果:
在samsung s8 上测试
类型(对应int) | 频率 |
---|---|
SENSOR_DELAY_NORMAL(3) | 15 |
SENSOR_DELAY_UI(2) | 17 |
SENSOR_DELAY_GAME(1) | 52 |
SENSOR_DELAY_FASTEST(0): | 500 |
- 关于Android开发中SensorManager频率设置的问题.
https://blog.csdn.net/faith306/article/details/9261137 ↩