2013-12-19 2 views
1

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

я следовал, как в this thread

, но работает только в каждом 30mins.

Я сконфигурировал, что, как только onUpdate запущен, он обновляется в 1 минуту и ​​ onReceived запускается каждые 30 минут.

Может ли кто-нибудь сказать мне, что я делаю неправильно?

+1

Вы не показываете никакого кода, поэтому кроме отсутствующего кода мы не знаем, что вы сделали неправильно ... – Veger

ответ

0

Вы ничего не делаете, служба виджета действительно обновляется каждые 30 минут (минимум).

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

+0

я это это работает: am.setRepeating (AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 * 10, пи); // Millisec * Second * Minute изменил код и его работу. –

+0

Спасибо, Бабибу. и спасибо всем. –

+0

Это не будет работать точно для API 19+. – Kristopher

2

Из моего опыта AlarmManager не работает (или вообще) с интервалом менее 1 минуты. Кроме того:

Примечание: Менеджер сигнализации предназначен для случаев, когда вы хотите иметь код приложения запуска в определенное время, даже если приложение в настоящее время не работает. Для обычных операций синхронизации (тики, тайм-ауты и т. Д.) Проще и эффективнее использовать Handler.

Кроме того:

Примечание: Начиная с API 19 (KITKAT) доставка сигнала тревоги неточна: ОС сместится сигналы для того, чтобы свести к минимуму пробуждений и использование батареи. Там - это новые API для поддержки приложений, которым необходима строгая доставка. гарантии; см. setWindow (int, long, long, PendingIntent) и setExact (int, long, PendingIntent). Приложения, чья targetSdkVersion ранее, чем API 19, будут продолжать видеть предыдущее поведение , в котором все аварийные сигналы доставляются именно тогда, когда запрашивается .

Смежные вопросы