我需要收集 GPS 数据,将其保存到数据库,然后每分钟将其发送到后端。我只是想确保打盹模式不会搞砸。
假设我启动了前台服务并
onLocationChanged
在那里实现了回调。我是否必须在前台服务中执行所有这些操作(收集/存储/发送)才能确保 Doze 允许使用 GPS / 互联网?
如果我想在其他地方存储/发送数据,例如在 a
BroadcastReceiver
中,我如何确定我BroadcastReceiver
的已准备好处理数据并且没有睡着?Android M 中有一个 bug,导致前台服务受 Doze 模式影响: https ://stackoverflow.com/a/37869501/3210556
一种可能的解决方法是在单独的进程中启动前台服务。
假设应用程序中有前台服务,究竟什么不受打瞌睡的影响?
- 前台服务本身?
- 与前台服务相关的进程?
- 整个应用程序?
谢谢你。