Получайте уведомления, когда какое-либо другое приложение получает блокировку пробуждения

Мне интересно, возможно ли следующее в Android. Я хочу, чтобы мое приложение выполняло определенную задачу всякий раз, когда телефон просыпается. Всякий раз, когда какое-либо другое приложение получает блокировку пробуждения для выполнения своей задачи, я хочу, чтобы мое приложение делало что-то свое.

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

Причина, по которой я спрашиваю, заключается в том, что я не хочу разбудить телефон, чтобы выполнить свою задачу и повлиять на срок службы батареи. Я хочу воспользоваться возможностью блокировки пробуждения, чтобы сделать свое дело.


person black    schedule 06.01.2012    source источник


Ответы (2)


Вы можете использовать AlarmManager с типом RTC или ELAPSED_REALTIME.

http://developer.android.com/reference/android/app/AlarmManager.html#RTC

Устройство не просыпается при срабатывании будильника. в следующий раз, когда телефон проснется, сработает будильник.

person nandeesh    schedule 06.01.2012
comment
Добро пожаловать. Отметь как отвеченный :) - person nandeesh; 07.01.2012

Могу ли я получить уведомление об этом событии через намерение с помощью широковещательного приемника?

No.

Причина, по которой я спрашиваю, заключается в том, что я не хочу разбудить телефон, чтобы выполнить свою задачу и повлиять на срок службы батареи.

Тогда не будите телефон. Следуйте совету Нандиша и используйте будильник, отличный от _WAKEUP. Однако вам по-прежнему понадобится WakeLock, потому что устройство может снова уснуть до того, как вы завершите свою работу.

person CommonsWare    schedule 06.01.2012