有谁知道当设备处于打盹或应用处于待机状态时,持有部分唤醒锁定的白名单应用是否可以接收位置更新?
Android 文档 ( http://developer.android.com/training/monitoring-device-state/doze-standby.html ) 仅声明 CPU 和网络被延迟并且没有提及对位置更新的任何影响(即来自 LocationManager )。基于此,位置更新似乎不受 Doze/Standby 的影响,因此如果应用程序持有部分唤醒锁定(以保持 CPU 运行),那么应用程序应该能够接收位置更新。
我已经实现了这一点并对其进行了测试,发现应用程序似乎没有在 Doze 中接收位置更新,即使它具有部分唤醒锁定并被列入白名单。有趣的是,当我将设备放在办公桌上一夜之间运行带有唤醒锁的应用程序时,早上电池几乎没电了,但是当我在没有唤醒锁的情况下重复使用应用程序时,早上电池几乎是满的。因此,该应用程序似乎一直在运行,但没有接收到位置更新。
一些额外的背景:该应用程序用于车队跟踪,因此我们正在尝试确定是否有任何应用程序运行后台服务,以便在使用电池供电时可靠地接收位置更新。
谢谢!——汤姆·B。