3

开发一个在后台更新用户位置的android应用程序。现在,谷歌为此提供了两种方式:

  1. 通过 getlastlocation() 函数获取用户的最后位置。可以设置警报管理器,并在广播接收器和服务的帮助下,可以连续更新位置。 例如:

  2. 向融合位置提供者请求定期更新,如此处所示

除非用户这样做,否则哪种方式是在后台持续获取位置更新而不Android杀死后台服务的最佳方式?

4

1 回答 1

4

第二种方法“请求定期位置更新”是活动的。它允许您更具体地调整更新频率以及在什么情况下您将获得更新。您是在告诉 Android 您希望经常更新和/或如果用户移动了超过 X 米。

第一种使用方法getLastLocation()被动的。这意味着您无法控制更新的频率或质量。您基本上是在搭载其他应用程序的位置更新请求。如果有其他应用程序要求频繁更新,那么调用getLastLocation()将为您提供相对最近/准确的位置。但是,如果其他应用程序没有请求频繁更新(或者用户可能根本没有运行任何其他应用程序),则调用getLastLocation()可能会返回非常陈旧(不准确/旧)的数据。

于 2015-06-29T16:34:15.903 回答