繁体   English   中英

用自定义速率注册加速度计监听器

[英]Registering an accelerometer listener with a custom rate

private static int SENSOR_DELAY_SLOW = 5000000;

sensMngr = (SensorManager) getSystemService(SENSOR_SERVICE);

sensMngr.registerListener(this, sensMngr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SENSOR_DELAY_SLOW);

我想每5秒捕获一次传感器的数据,但是它忽略了我想要的速率。 侦听器每秒捕获的值甚至超过400次。

当然,我可以使用onSensorChanged(SensorEvent event)方法手动过滤传入的数据,但是我的主要目的是减少电池消耗。

文献资料

我究竟做错了什么?

谢谢。

您需要SensorManager.SENSOR_DELAY_UI,然后必须从那里进行过滤。 仅有4种可选速度,您无法定义自己的速度。 SENSOR_DELAY_UI倾向于每秒最多进行约3个采样,并且由于在传感器值更改时会获得结果,因此采样之间可能需要几秒钟的时间。 各个设备的情况各不相同。

无法为Android中的传感器值交付定义固定费率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM