2016-05-08 4 views
-1

Я использовал manager.requestLocationUpdates("gps", 1800000, 1, new LocationDetector()); метод LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); класса для получения обновления, когда либо изменения местоположения (местоположение устройства), по меньшей мере, 1 метр (почти 40 дюймов), ИЛИ по крайней мере 30 минут прошел. Но обновление не принимается, когда я меняю местоположение устройства на 1 метр (или даже больше). Так в чем же проблема? Пожалуйста скажи.onLocationChanged (Место нахождения) не работает - Android

Код:

public class LocationDetector implements LocationListener { 
    @Override 
    public void onLocationChanged(Location location) { 
     Log.d("GPS: ",location.getLatitude()+", "+location.getLongitude()); 
    } 

ответ

0

Это не ИЛИ, это И.

Чтобы получить обновление местоположения с этими параметрами, расстояние должно измениться не менее 1 метра, а 30 минут должно пройти с момента предыдущего обновления.

Android documentation:

Параметр minDistance также может быть использован для контроля частоты обновлений местоположения. Если значение больше 0, поставщик отправит вашему приложению обновление только в том случае, если в нем указано , измененное как минимум на minDistance meter, и не менее minTime миллисекунд.

+0

но обновление принимается через 30 минут без изменения места нахождения устройства. –

+0

Как сказано [здесь] (http://stackoverflow.com/questions/37094660/requestlocationupdates-method-is-giving-updates-without-change-in-location-a/37097663#37097663), вероятно, есть изменения в местоположение в виде координат GPS может колебаться даже для устройства, расположенного совершенно неподвижно. –