gpt4 book ai didi

android - 如何缓慢轮询传感器?

转载 作者:行者123 更新时间:2023-11-29 20:21:33 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它可以在很长一段时间内将传感器数据复制到文本文件中。所以我想使用尽可能少的电池,因此需要更慢的轮询时间。

目前我有这个作为我的听众:

sMgr.registerListener(this,sProximity,5000000);

我认为应该每 5,000,000 微秒轮询一次传感器。但是,它似乎每秒轮询 4 次。无论我输入什么值,这实际上都不会改变。

目前我只是在应用程序中使用 onSensorChanged 方法覆盖显示传感器数据 - 这可能就是它如此频繁地轮询传感器的原因吗?

最佳答案

你不能“慢慢轮询传感器”。

根据docs :

samplingPeriodUs
The rate sensor events are delivered at. This is only a hint to the system. Events may be received faster or slower than the specified rate. Usually events are received faster.

此外,每 5 秒轮询在电池使用方面不会给您带来任何比轮询更快的好处,因为两者都会阻止设备进入休眠模式。

如果这只是为了测试目的,并且最终您要查看比 5 秒更长的时间,即 15 或 30 分钟,那么一种方法是使用 AlarmManager 设置一个启动 Service 的重复警报,该服务为传感器注册监听器、存储值并注销监听器,直到触发下一个警报。

如果您确实希望每 5 秒轮询一次,并且您只关心更快轮询的存储空间,您可以只为最后存储的值存储一个时间戳,然后丢弃每一个比您期望的轮询周期更快收到的值,但正如我之前所说,这不会帮助您减少电池消耗。

关于android - 如何缓慢轮询传感器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com