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