如果传感器更新(太)慢,服务就会终止

Service killed if sensor updates (too) slowly

我在服务中实现了一个传感器事件侦听器,只要采样周期和最大报告延迟低于 1 秒,它就可以正常工作,但是一旦我将采样周期增加到 1 秒以上,传感器就根本不会更新。

我希望采样周期为 10 秒,可能是 30 秒,因为我正在开发的应用程序需要长时间 (5-10 小时) 的旋转矢量数据,并且我正在努力节省尽可能多的电池寿命尽可能的智能手表。

如果我不够清楚,我很乐意提供更多信息,

提前致谢!

所以我发现了问题,显然是设备的硬件限制。 您可以通过调用 sensor.getMaxDelay 找到最大延迟。如果延迟设置为更高,则传感器延迟将设置为该值。但是在旧设备上它可能会或可能不会工作。 Link to android docs

似乎如果你想要一个比最大延迟慢的传感器,你将不得不实现某种类型的可运行或线程。