Intereting Posts
Проблемы с System.Threading.Timer в профиле PCL 78 – Предупреждения Как вы контактируете поток? Почему datepicker добавляет календарь на мой взгляд? Как использовать Gradle, как я могу гарантировать, что файл существует в определенном месте? Можно настроить положительные и отрицательные кнопки в AlertDialog? Отмена динамического уведомления в Android при выборе уведомления Где находится файл макета моих настроек? Автоматическая прокрутка AdapterView (Listview, GridView, …) GCMRegistrar.getRegistrationId (this) всегда возвращает пустую строку, даже после успешного вызова для регистрации Рекомендации по вызову finish () для активности в android? Как остановить поток? Поиск инструмента для создания графического файла с 9 патчами Как создать настраиваемый шаблон для Intellij для использования с опцией Guava Использовать Android-камеру без просмотра поверхности API Android для автоматического ответа на вызов и чтения тонов DTMF

Android. При использовании LocationManager.requestLocationUpdates мне нужен WakeLock?

Мое приложение периодически проверяет местоположение с помощью будильника в BroastcastReceiver который запускает службу. Я знаю, что я должен приобрести wakelock, прежде чем начать сервис, но мой вопрос, когда я могу его отпустить?

Если я выпущу wakelock после вызова requestLocationUpdates , может ли устройство переспать и не вызвать мой LocationListener или устройство всегда будет работать, чтобы доставлять обновления и бодрствовать до тех пор, пока обратный вызов не вернется? Я неохотно держусь за wakelock, потому что это помешает устройству спать между обновлениями, пока я не покончу с местоположением.

Поэтому, основываясь на моем опыте (и подтвержденном в комментариях здесь), освобождение блокировки после того, как вызывается requestLocationUpdates , кажется, не является проблемой. К сожалению, единственный способ получить окончательный ответ – спросить разработчика платформы, но я не получил ответа .