2010-11-22 3 views
3

Я установиландроид LocationManager.requestLocationUpdates с minTime> 0 не работает, как ожидалось

 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0f, this);

имеет странное поведение, LocationChanged вызывается каждый второй вместо любое время близко к 1 минуте. Во-вторых, locationChanged вызывается каждую секунду в течение 10 секунд, затем полностью останавливается, значок satalites gps исчезает, а затем возобновляется снова, когда экран возвращается с таймаутом отображения.
что случилось?

Я в настоящее время на android 1.5.

ответ

9

MinTime (60000) - это всего лишь подсказка, и нет никакой гарантии, что ваш сайт-исполнитель заработает с точностью до 1 минуты. В сочетании с minDistance = 0 вы, вероятно, получите гораздо больше обновлений.

Я бы увеличил minDistance до минимума 1 м и осуществил компенсацию логики для достижения 1-минутного интервала в вашем коде. Функция LocationListener может быть реализована таким образом, что если обновление местоположения следует слишком близко, они игнорируются и не обрабатываются.

Вы также получите разные места через своего слушателя, с другой точностью, все в течение этого минутного интервала.

Ваш приемник местоположения может выбрать наилучшую точность и запомнить, когда последнее место было обработано, поддерживая состояние (lastLocationProcessedAt).

+0

Данная ссылка не работает. –

 Смежные вопросы

  • Нет связанных вопросов^_^