我只需要清楚地理解这一点,getLastLocation()方法将给我最后一个已知的位置,requestLocationUpdates将给我每个时间段的当前位置。
现在,我正在开发一个简单的应用程序来跟踪手机,它将在车上。
我的问题是:
1-当位置改变时,这个getLastLocation()究竟如何工作?
2-使用last known location获得初始位置,然后使用getLastLocation()方法更新当前位置,或使用onLocationChanged每隔N秒获得最新位置,哪个更好?

最佳答案

getLastLocation为您提供了LocationClient中存在的最后一个位置,它有时可以为空,例如,如果您没有安装使用位置服务的任何其他应用程序,则这种情况很少见,因为大多数手机都安装了谷歌地图或其他位置相关应用程序。
GetLastLocation仅在您只需要一次定位并完成定位时有用,但对于位置更新,您应该使用requestLocationUpdates,并且使用服务时,当位置更改时,您的应用程序将始终收到通知。
我希望您使用的是Play Services的FusedLocation提供程序,因此您可以指定所需的位置更新速度,以检查电池耗尽情况和性能。
还要注意的是,当您使用requestLocationUpdates时,只有您会得到任何位置更改更新。

10-08 18:34