Android requestLocationUpdates остается включенным - PullRequest
1 голос
/ 11 марта 2011

У меня серьезная проблема.При вызове функции requestLocationUpdates в Android GPS прослушивает текущую позицию.Но если сотовый телефон находится в помещении (скажем, под землей), то GPS будет продолжать слушать, пока местоположение не будет зафиксировано.

Это убивает мою батарею при тестировании ... Есть ли способ установить, чтобы удалить обновления через 2 минутыСлушания за должность ???

Спасибо

Ответы [ 2 ]

3 голосов
/ 11 марта 2011

Добавьте свою собственную логику для вызова removeUpdates() после двух минут отсутствия обновления. Нет встроенного механизма тайм-аута, но создание собственного не должно быть особенно сложным.

1 голос
/ 09 апреля 2011

моя рекомендация:

  1. создать класс, который использует обработчик
  2. используйте sendMessageDelayed для запуска обработчика каждые 5 секунд
  3. для message.obj сохраняет счетчик секунд и каждый раз, когда вызывается обработчик, увеличивает message.obj на 5.
  4. когда message.obj достигает 120, вы знаете, что прошло 2 минуты, и вы можете использовать removeUpdate ()

  5. при вызове onLocationChanged (), затем использовать removeMessages () в обработчике и перезапустить sendMessageDelayed () с объектом, содержащим 0

Я ЛЮБОВЬ обработчики !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...