Я использую FusedLocationProviderClient для отслеживания местоположения, и я хочу получить лучшее местоположение с помощью метода getAccuracy (). Я проверял этот метод на некоторых устройствах, и он возвращает 1500, а иногда и 1700, хотя он должен быть меньше нескольких метров (меньше 12). Почему это происходит и что мне делать?
Заранее спасибо.
Мой код:
mLocationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
super.onLocationResult(locationResult);
Location location = locationResult.getLastLocation();
float acc = location.getAccuracy();
if (location != null && location.getAccuracy() < 10){
if(preLocation == null){
preLocation = location;
locationChanged(location);
sendLocation(location.getLatitude(), location.getLongitude());
}else if (preLocation.getLatitude() != location.getLatitude() && preLocation.getLongitude() != location.getLongitude()) {
// Logic to handle location object
locationChanged(location);
preLocation = location;
}
}
}
};