在Android 8中使用带DOZE的GPS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android 8中使用带DOZE的GPS相关的知识,希望对你有一定的参考价值。

我有一个应用程序,它运行后台服务来监控GPS位置并将其与位置列表进行比较。当它找到匹配时,它发送广播以触发前台活动,然后显示有关该位置的信息。 GPS跟踪使用Google Play服务中的GPS功能,需要每20秒更新一次。

大多数情况下,用户不知道应用程序,可以做其他事情。前景UI可能不会每2分钟更频繁地触发,并且可能长达20分钟或更长时间。其余的时间,重要的是应用程序可以继续获取GPS位置,而不会中断用户正在做的任何其他事情。

我试图了解android 8中新的Doze和Standby功能的影响。它通过阅读最新的文档看起来它将不再有用,后台服务将无法获得更新(或者只会得到一些每小时,这是无用的)。任何人都可以告诉我这是否正确?

他们似乎说我应该使用前台服务,但在其他地方他们说前台服务应该只在需要一些用户交互的地方使用。看起来像捕获22.前景服务是否适合这样的事情?

文档也提到白名单,但我不清楚这是什么。我可以将我的应用程序列入白名单以使其继续工作吗?

任何人都可以帮助困惑的业余开发人员?

克里斯S.

答案

我现在明白它好一点了。我还没有找到任何使用后台服务的方法。我尝试在清单中要求REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限,但它仍然无效 - 几分钟后GPS跟踪停止。为了做我想做的事,我不得不将跟踪转换为前台服务 - 这很好用。

以上是关于在Android 8中使用带DOZE的GPS的主要内容,如果未能解决你的问题,请参考以下文章

Android的Doze模式

Android中的Doze模式

Android7.0 Doze模式

Android Doze模式分析

Android7.0 Doze模式分析Doze介绍 & DeviceIdleController

Android7.0 Doze模式分析Doze介绍 & DeviceIdleController