Google 位置服务是一项服务吗 - 在后台运行

Posted

技术标签:

【中文标题】Google 位置服务是一项服务吗 - 在后台运行【英文标题】:Is Google location services a service - that runs in background 【发布时间】:2015-07-19 17:09:31 【问题描述】:

我希望我的应用能够获取当前位置的更新,并据此采取行动。我正计划创建一个服务,它将托管 Google API 客户端代码和位置更新代码。

这个名字让我大吃一惊:google location SERVICES 是一项会自动在后台运行的服务,就像我要创建的服务一样?还是只是一个名字,我应该继续我的计划?

【问题讨论】:

【参考方案1】:

您没有正确考虑这一点 - Google 如何实施它并不重要。为了直接回答您的问题,我几乎可以肯定地说它不称为“服务”,因为它是Service - 两者彼此无关。 Google 可能会使用整个系列的 Service,但您不必关心这些。

您只需要知道它是有效的 - 只要您请求更新,显然频率和准确性将取决于您请求的过滤器/提供者,您将继续获得更新。您无需在后台维护Service 即可继续接收更新。如果您需要在应用处于后台时接收并持续对这些更新进行操作,则只需维护Service

我还要说这可能是一个缺点。如果您请求位置更新并且从不调用 api 来停止接收更新,您将导致您的应用程序在系统上保持部分唤醒锁,并且您将耗尽用户的电池。获得所需的位置信息后,请拨打适当的电话以停止接收更新。

考虑一下您需要位置信息的用途、需要的频率等,并知道 Google 位置服务将继续调用您的回调对象,只要它没有被垃圾回收。

【讨论】:

如果我需要持续的位置更新 - 非常准确,有什么节省电池的好方法吗?

以上是关于Google 位置服务是一项服务吗 - 在后台运行的主要内容,如果未能解决你的问题,请参考以下文章

即使在后台,如何使用 Google 位置服务 API 来获取位置更新?

如何在应用程序处于后台时保持GPS接收器位置更新(Google Play服务位置API)

当 Google Play 服务无法获得位置修复时,我如何获得通知?

在后台运行 CLLocationManager 可以吗

Flutter 应用程序可以在后台运行吗?

Android 使用 Google 的位置服务对话框