【发布时间】:2019-01-06 15:06:03
【问题描述】:
所以有些背景,我正在开发一个位置跟踪应用程序。我正在运行一项使用融合位置提供程序获取 gps 更新的服务。当应用程序关闭或设备被锁定时,我的服务将移至前台。它还使用部分唤醒锁并被列入白名单。
我的印象是设备在移动时应该退出打盹模式。如本答案here 所述。但是,我在不同的设备上看到不一致的结果。我有三个测试设备。一个索尼 experia,一个 moto e4 plus 和一个 nexus 5x。该应用程序在索尼和 nexus 上运行良好。我让它闲置,打盹模式启动,然后当我移动设备时,它退出打盹模式并重新开始 gps 更新。这很好,因为当设备静止时我不需要 gps 更新,这只会浪费电池寿命。为清楚起见,每个设备的不同 android 版本是:
Sony Xperia: 7.0
Moto E4 plus: 7.1.1
Nexus 5X: 8.0
问题出在 moto 上,我让设备进入打盹模式。然而,在拿起它并与它一起移动时,它不会退出打盹模式。它仅通过一些用户交互退出打盹模式。在查看其他答案和 androids 文档后,我假设移动设备应该始终导致它从打盹模式存在,这是正确的。如果是这种情况,这更有可能是硬件问题,还是 OEM 可以更改打盹模式的工作方式?
感谢您的帮助。
【问题讨论】:
标签: android android-service android-doze