Как справиться с сигналом тревоги каждый день в Android

StackOverflow https://stackoverflow.com/questions/2110620

Вопрос

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

Мой верующий хорошо обрабатывает Wakelock и запускает услугу, которая выпускает этот Wakelock. Здесь все работает нормально.

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

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top