19 android location android-6.0-marshmallow android-doze-and-standby
有人知道当设备处于打盹或应用处于待机状态时,持有部分唤醒锁定的白名单应用是否可以接收位置更新?
Android文档(http://developer.android.com/training/monitoring-device-state/doze-standby.html)仅声明CPU和网络延迟,并且未提及对位置更新的任何影响(即来自LocationManager) ).基于此,似乎位置更新不受Doze/Standby影响,因此如果应用程序持有部分唤醒锁定(以保持CPU运行),则应用程序应该能够接收位置更新.
我已经实现了这一点并对其进行了测试,发现应用程序似乎没有在Doze中接收位置更新,即使它具有部分唤醒锁定并且已列入白名单.有趣的是,当我将设备放在我的办公桌上,一夜之间运行带有唤醒锁定的应用程序时,早上电池几乎是空的,但是当重复使用不带唤醒锁定的应用程序时,电池在早上几乎已满.所以看起来该应用程序一直在运行,但没有收到位置更新.
一些额外的背景:该应用程序用于车队跟踪,所以我们试图找出一个应用程序是否有运行后台服务,可靠地接收位置更新时,使用电池供电.
谢谢!-Tom B.
是的,这似乎是打瞌睡模式下的另一个未记录的限制,正如我的测试日志也显示的那样。我的猜测是,一些硬件功能(例如 GPS)通常在打瞌睡状态下被关闭,但也许是 LocationManager 被完全禁用了。
由于这可能只是严重缺乏文档,因此您提到的电池消耗绝对不应该在 Doze 中发生,因为这正是 Doze 想要首先防止的情况。
您可能需要在https://code.google.com/p/android/issues/list提交有关所有这些的错误报告
| 归档时间: |
|
| 查看次数: |
4584 次 |
| 最近记录: |