Android 仅当位置更改时更新位置
目前,我使用next函数来处理位置更改Android 仅当位置更改时更新位置,android,android-studio,gps,location,Android,Android Studio,Gps,Location,目前,我使用next函数来处理位置更改 locationManager.requestLocationUpdates(bestProvider, (60000), 1000, (LocationListener) this); 但问题是,系统将等待检查位置是否更改的最短时间(以毫秒为单位),直到时间过去,在我的情况下是60000毫秒 我的问题是,如果用户移动一定距离(以米为单位)而不使用任何等待时间,是否有任何方法可以使onLocation更改仅触发 谢谢。您可以使用推荐的而不是Locati
locationManager.requestLocationUpdates(bestProvider, (60000), 1000, (LocationListener) this);
但问题是,系统将等待检查位置是否更改的最短时间(以毫秒为单位),直到时间过去,在我的情况下是60000毫秒
我的问题是,如果用户移动一定距离(以米为单位)而不使用任何等待时间,是否有任何方法可以使onLocation更改仅触发
谢谢。您可以使用推荐的而不是LocationManager(它应该更准确,提供更好的电池性能),并且您可以在上设置一些过滤器,您可以将其作为位置查询的参数提供。具体而言,您会对这种方法感兴趣: 那正是你想要的。 同时检查:、和其他 您可以将它们组合使用,如下所示:
private void startLocationUpdates() {
final LocationRequest locationRequest = LocationRequest.create().setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY).setInterval(LOCATION_UPDATE_INTERVAL)
.setFastestInterval(LOCATION_UPDATE_FASTEST_INTERVAL).setSmallestDisplacement(LOCATION_UPDATE_SMALLEST_DISPLACEMENT_METERS);
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, locationListener);
}