仅在位置更改时更新位置

时间:2016-06-01 15:08:18

标签: android android-studio gps location

目前我使用下一个功能来处理位置变化

locationManager.requestLocationUpdates(bestProvider, (60000), 1000, (LocationListener) this); 

但问题是系统将等待检查位置是否发生变化的最短时间(以毫秒为单位),直到时间过去为止,在我的情况下为60000毫秒。

我的问题是,如果用户在不使用任何等待时间的情况下移动一定距离(以米为单位),是否有任何方法可以使onLocation仅更改触发器?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用推荐的FusedLocationProviderApi代替LocationManager(它应该更准确,并提供更好的电池性能),您可以在LocationRequest上设置一些过滤器,作为参数提供给您的位置查询。具体来说,您会对此方法感兴趣:

  

setSmallestDisplacement()

做你想做的事。 另请检查:setPriority()setInterval()setFastestInterval()和其他人。

您可以将它们组合使用,如下所示:

.header