最佳实践:在后台获取位置更新

时间:2015-06-23 01:01:34

标签: android broadcastreceiver android-service android-fusedlocation

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

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

  2. 请求融合位置提供商定期更新,如here

  3. 所示

    除非用户这样做,否则在没有Android查杀后台服务的情况下,哪种方式是在后台连续获取位置更新的最佳方式?

1 个答案:

答案 0 :(得分:4)

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

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