0

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

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

我正在尝试了解 Android 8 中新的 Doze 和 Standby 功能的影响。从阅读最新的文档来看,我认为它将不再工作,并且后台服务将无法获得更新(或只会获得一些更新)每小时,这是没用的)。谁能告诉我这是否正确?

他们似乎说我应该使用前台服务,但在其他地方他们说前台服务应该只用于需要一些用户交互的地方。看起来像第 22 条。对于这样的事情,前台服务可以吗?

文档还提到了白名单,但我不清楚这到底是做什么的。我可以将我的应用列入白名单以使其继续运行吗?

任何人都可以帮助一个困惑的业余开发者吗?

克里斯小号

4

1 回答 1

0

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

于 2018-09-16T09:26:49.820 回答