Запустите команду / службу в первый день дня - PullRequest
2 голосов
/ 25 августа 2011

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

Единственное решение, которое я нашел, - это использовать AlarmManager для добавления точного повторяющегося таймера в полночь каждый день. Затем приобретите частичный Wake-Lock, чтобы убедиться, что устройство не спит, и запустите код. Это должно работать, как и ожидалось, но из-за использования функции Wake Lock я просыпаюсь, поэтому ищу более тонкую версию:

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

Другими словами: как запустить службу в первый момент дня, когда устройство не спит, что предотвращает пробуждение? Я все еще нуждаюсь в устройстве, чтобы не спать, чем в течение определенного периода времени.

Как это можно сделать?

1 Ответ

0 голосов
/ 25 августа 2011

Вы можете сказать AlarmManager отложить ваш вызов до тех пор, пока устройство все равно не проснется. Тогда не используйте WakeLock в.

...