Из SDK:
Примечание: Если устройство спит, когда наступает время обновления (как определено updatePeriodMillis
), тоустройство проснется, чтобы выполнить обновление.Если вы обновляете не чаще одного раза в час, это, вероятно, не вызовет значительных проблем в течение срока службы батареи.
Если, однако, вам нужно обновлять чаще и / или вам не нужно обновлять, когда устройство спит, вы можете вместо этого выполнить обновления на основе сигнала тревоги, который не разбудит устройство.
Для этого установите тревогу с намерением, которое получает ваш AppWidgetProvider
, используя AlarmManager
.Установите тип сигнала будильника ELAPSED_REALTIME
или RTC
, который будет доставлять сигнал тревоги только тогда, когда устройство находится в активном состоянии.Затем установите updatePeriodMillis
на zero
("0").
А когда SDK 1.6 +:
Примечание: Обновления запрашиваются сupdatePeriodMillis
не будет доставляться чаще, чем раз в 30 минут.