Параметр RequestLocationUpdates android - PullRequest
3 голосов
/ 10 июня 2011

У меня путаница в этом параметре

locationManager.requestLocationUpdates(provider, 
                60000,
                10,
                listener);

Итак, вот как это выполняется location update listener. if time = 60000 AND distance = 10 тогда он выполнится или if time = 60000 OR distance = 10 тогда он выполнится. Пожалуйста, помогите мне выйти из этой путаницы.

Ответы [ 3 ]

7 голосов
/ 26 мая 2013

Согласно документам :

Истекшее время между обновлениями местоположения никогда не будет меньше minTime

Итак, minTime имеет преимущество. Далее говорится:

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

Так что это должно быть if(time >= minTime AND dist >= minDistance), то есть не будет проверять расстояние, если слишком рано. НО не принимайте эти параметры слишком серьезно до JellyBeans .

0 голосов
/ 10 июня 2011

В этом методе второй параметр 60000 показывает время обновления местоположения в миллисекундах, поэтому 60000 означает 60 секунд (60 * 1000).«ИЛИ» Третий параметр - это расстояние (минимальный интервал расстояния для обновления местоположения), в вашем случае оно составляет 10 метров

Надеюсь, это поможет.

0 голосов
/ 10 июня 2011

Насколько я понимаю, это должно быть OR. Прочитайте этот блог для получения дополнительной информации.

Имейте в виду, что точность GPS составляет от 10 до 50 метров.

...