Как справиться с тревогой каждый день в Android - PullRequest
1 голос
/ 21 января 2010

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

Мой BroadcastReceiver хорошо справляется с wakelock и запускает сервис, который освобождает этот wakelock. Здесь все отлично работает.

Однако у меня проблемы. В моем приложении есть флажок, который проверяется при срабатывании тревоги. Чтобы узнать, сработал ли мой будильник, я использую следующее условие:

Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)

Но, похоже, это не очень хорошо работает, это хороший способ узнать, сработал ли будильник?

Заранее спасибо

1 Ответ

6 голосов
/ 21 января 2010

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

Вы также можете настроить приемник вещания, который получает ACTION_BOOT_COMPLETED, чтобы вы могли перепланировать свои тревоги при перезагрузке телефона.

Что касается проверки, существует ли тревога, PendingIntent с FLAG_NO_CREATE - именно то, как вы это сделаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...