Запустить тревогу в вещательном приемнике и выключить в сервисе - PullRequest
0 голосов
/ 10 декабря 2011

Я думаю, что у меня проблема с дизайном, но я задам вам вопрос, ребята.Мои приложения получают трансляцию в xbroadcastreceiver, я проверяю некоторые условия, и если true, я запускаю службу, скажем zservice, используя Alarm Manager с PendingIntent.Теперь в zservice, каждый раз, когда он запускается диспетчером аварийной сигнализации, я проверяю некоторые другие условия и, основываясь на конкретном условии, мне нужно отменить аварийную сигнализацию, я знаю alarmManager.cancel (pendingIntent);отменит сигнал тревоги, но моя проблема заключается в том, как получить доступ к pendingIntent, как это было в xbroadcastreciever.

Я попытался отправить pendingIntent в службу, но пока не удается, поэтому, когда мне нужноЯ могу выключить будильник.Надеюсь, что эта логика имеет смысл.

1 Ответ

0 голосов
/ 10 декабря 2011

Я знаю alarmManager.cancel (pendingIntent);отменит alram, но моя проблема в том, как получить доступ к pendingIntent, как это было в xbroadcastreciever.

Создать Intent с той же информацией о маршрутизации (компонент, действие, категории,MIME тип) как оригинал.Создайте тот же тип PendingIntent из этого Intent, как и раньше (например, getService()).Используйте это PendingIntent с вызовом cancel().

...