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

Is Google location services a service - that runs in background

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

这个名字让我很反感:google location SERVICES 是一种会在后台自动 运行 的服务,就像我要创建的服务一样吗?或者它只是一个名字,我应该继续我的计划?

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

您只需要知道它的工作原理 - 只要您请求更新,显然频率和准确性将取决于您请求的 filters/providers,您将继续获得更新。您无需在后台维护 Service 即可继续接收更新。如果您需要在您的应用程序处于 后台 时接收并不断地 对这些更新做一些事情 ,您只需要维护 Service .

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

想想您需要定位的目的是什么,您多久需要一次定位等,并且要知道 Google 定位服务将继续调用您的回调对象,只要它没有被垃圾回收。