Android locationmanager.requestlocationUpdates с Mintime> 0 не работает должным образом

StackOverflow https://stackoverflow.com/questions/4245193

  •  27-09-2019
  •  | 
  •  

Вопрос

Я установил

locationmanager.requestlocationUpdates (locationmanager.gps_provider, 60000, 0f, это);

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

В настоящее время я на Android 1.5.

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top