Интервал обновления GPS быстрее с хорошим сигналом?

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

  •  28-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь ограничить мою программу, чтобы принять обновления местоположения каждые 10 секунд вместо постоянных обновлений, чтобы уменьшить слив аккумулятора. Это работает нормально, когда я отладку в помещении, и сигнал слабый (т. Е. Значок GPS вспыхивает), но если телефон получает правильное исправление (т. Е. Значок GPS - это статический), интервал обновления увеличивается до примерно второго.

Я знаю, что код mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updateInterval*1000, 0, this); Не заставит GPS принимать обновления точно в данном интервале, но, на мой взгляд, он не должен зависеть от силы сигнала и сильно колебаться.

Любые идеи?

Обновление: см. Комментарий

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

Решение

Я подозреваю, что GPS Radio работает таким образом, когда он подключен к спутникам GPS или это не так. Когда он подключен, Android SDK отправляет вам обновления так часто, как они доступны из оборудования GPS. Когда у него нет полного соединения GPS, он возвращается к отправке обновлений AGPS в соответствии с тем, что вы запросили.

Если вы хотите только обновить каждые 10 секунд, вы должны сохранить последний полученный Locationзначение времени в вашем слушателе, и когда вы получите новый Location Проверьте свое время против старого значения; Игнорируйте его, если он слишком часто (или сделать что-то умнее, как проверять точность и замена старого значения и т. Д.).

Другие советы

Может быть, это работает медленнее, потому что вы отладки, но не потому, что ваш сигнал слаб! Попробуйте сделать тесты с отключенным отладчиком в помещении ...

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