Intereting Posts
Получение имени пользователя Android в телефоне GCM SERVICE_NOT_AVAILABLE на Android 2.2 Работа с большой базой данных на Android Вид родительского дна скрывается с макетом родительского центра на открывающей клавиатуре Создание файла конфигурации Pro Guard с Android Studio Отключить кнопку с помощью кнопки выбора Отправка html-адреса электронной почты в android с помощью <table> и т. Д. – действительно ли нет встроенного способа Intent? Android SQLite с использованием db.query () для JOIN вместо rawquery () WakeLock заблокирован GCM_LIB Разрешить пользователю выбирать камеру или галерею для изображения Фильтр шума данных акселерометра WebView в ScrollView: «Просмотр слишком большой, чтобы вписаться в кеш-файл» – как переделать макет? Не удается найти приложение в Google Play, но может видеть его по URL Как настройка baselineAligned to false улучшает производительность в LinearLayout? Имя экрана Android-телефона перед отображением заставки

Услуга пробуждения непосредственно из AlarmManager

В демонстрации https://github.com/commonsguy/cwac-wakeful метод OnAlarmReceiver (BroadcastReceiver) onReceive () вызывается в ответ на сигнал тревоги. Метод onReceive () запускает службу. Используются два намерения, один из которых используется BroadcastReceiver, а другой – службой. Это кажется более сложным, чем это должно быть, почему бы просто не получить услугу Intent от AlamManager?

Я понимаю, что Телефон гарантированно не спать, пока выполняется onReceive (), т.е. он завернут блокировкой следа. Я не уверен, что класс службы предлагает любые аналогичные гарантии.

Есть ли способ запустить Сервис непосредственно из Тревоги, все еще гарантируя, что Телефон будет разбужен от сна и не будет спать до тех пор, пока не будет получена блокировка следа?

Solutions Collecting From Web of "Услуга пробуждения непосредственно из AlarmManager"

Это кажется более сложным, чем это должно быть, почему бы просто не получить услугу Intent от AlamManager?

Поскольку Android не гарантирует, что устройство будет оставаться в состоянии getService() достаточно долго для getService() PendingIntent . Гарантия распространяется только на getBroadcast() PendingIntent – Android гарантирует, что устройство не пробудится (через WakeLock ) на время вашего onReceive() .

Поверьте мне, я бы хотел, чтобы мы могли пропустить это.