Реализовать Wakelock

У меня есть Service который имеет два TimerTask которые работают с периодичностью 2 минуты (задается по выбору пользователя от 2 до 30 минут.) .

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

Если так, то как лучше всего использовать wakelock.

Я обнаружил, что мы можем использовать Alarmmanager также..

Пожалуйста, помогите, а также, где в cose, я должен реализовать это..(внутри метода создания или расширения класса timetask).

Andoid 2.2 версия Taget

1 ответ

Решение

Как правило, использование Wakelocks очень и очень редко. Это может оказать существенное влияние на срок службы батареи и легко допустить ошибку, в этом случае wakelock вообще не будет отключен.

Для ваших целей AlarmManager ( http://developer.android.com/reference/android/app/AlarmManager.html) является идеальным решением. Это гарантирует, что во время выполнения не будет выполняться спящий режим, но между этими выполнениями (2 или 30 минут) устройство может перейти в спящий режим и сэкономить достаточное количество батареи. Система проснется, когда придет время выполнить ваше следующее выполнение.

Удачи

Другие вопросы по тегам