安卓:当活动关闭时,服务会失去传感器焦点



我正在制作一个应用程序,其中后台服务在某些特定运动上执行一些操作。目前,我使用一个简单的服务,并附加了一个SensorEventListener来记录手机的移动并执行我希望它执行的操作。我还使用没有任何时间限制的(可选(唤醒锁(但在服务终止时它不会被激活(来确保服务始终可访问。我使用START_REDELIVER_INTENT来确保在用户停止活动时停止活动时重新启动(定期通过 ome 按钮(。 现在谈谈我的问题:当我停止活动时,服务被终止,但只是偶尔重新启动(我不知道它是否没有重新启动或只是没有调用它的 sensorchange。我怀疑最后,但我不确定,因为我只在传感器更改方法中放置了一个简单的 Sysout 进行测试(。

是否有更好、更有效的方法来实现我的目标(例如startForeground(,我如何确保在活动停止后连续获取传感器数据?

需要连续运行的服务必须从startForeground()启动。

这样做的一个积极的副作用是,用户将使用传感器了解您的应用程序,并且可以在电池电量不足时停止它。

最新更新