Реализовать 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 минут) устройство может перейти в спящий режим и сэкономить достаточное количество батареи. Система проснется, когда придет время выполнить ваше следующее выполнение.
Удачи