Страницы

Поиск по вопросам

четверг, 26 декабря 2019 г.

Принудительный выход устройства Android из режима блокировки

#android #java #service


Написал службу (Service) для устройств с ОС Android. Работает прекрасно, но только
в режиме, когда с телефоном работают (т.е. разблокирован и не в режиме сна). По блокировке
телефона, служба перестает исполнять свои функции.

Вопрос следующий.


Что происходит со службой, по переходу устройства в режим сна?
Как организовать работу службы и в таком случае?
Можно ли по какому-то намерению (Intent), ассоциированному с неким событием на телефоне,
принудительно вывести телефон из режима сна? Ведь, при том же входящем звонке, устройство
переходит в активный режим.

    


Ответы

Ответ 1



В общем для того, чтобы устройство не засыпало надо контролировать т.н. WakeLock - то есть если вы будете держать WakeLock, то Service не остановится, иначе он заснет вместе с устройством. Паттерн использования может выглядеть так: Спим Некое событие (например AlarmManager) Захват (acquire) WakeLock Выполнение некой функции - например получени GPS координат, проверка Email да мало ли что еще! Отпускаем WakeLock Засыпаем В общем как-то так Не забудьте, что для использования WakeLock нужен специальный пермишен в манифесте: android.permission.WAKE_LOCK

Комментариев нет:

Отправить комментарий