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