Как остановить broadcastreceiver из основного действия?

#android #broadcastreceiver #alarmmanager #android-8.0-oreo

#Android #broadcastreceiver #alarmmanager #android-8.0-oreo

Вопрос:

Я запускаю 5 Broadcastreceiver в разное время, и я могу отменить их все, если отменю их до их запуска.

Я хочу иметь возможность отменить broadcastreceiver во время выполнения. Есть ли какой-либо способ остановить запущенный broadcastreceiver?

 alarmmanger.cancel(pendingIntent1); - does not work.
  

Комментарии:

1. Что именно вы подразумеваете под «запуском 5 Broadcastreceiver»? Вы вызываете registerReceiver() для них где-нибудь? Что именно вы подразумеваете под «отменой broadcastreceiver»? Вы имеете в виду, что хотите отменить его регистрацию? Или вы хотите остановить выполнение onReceive() , если оно выполняется?

2. Я хочу запустить onReceive(); 5 раз. Я создал 5 PendingIntents и хочу иметь возможность остановить выполнение onReceive();

3. Я не знаю, как остановить onReceive: например, если onReceive(); выполняется в течение следующих 10 минут, и я хочу остановить его через 2 минуты — как я могу это сделать?

4. onReceive() не выполняется непрерывно, и BroadcastReceiver сами они на самом деле не «запускаются» непрерывно. Они зарегистрированы, и их onReceive() методы будут вызваны, когда они получат соответствующее сообщение Intent . Чтобы «остановить» их, вы бы их отменили, но я не думаю, что это то, о чем вы спрашиваете. Вы просто пытаетесь отменить сигналы тревоги?

5. ах, хорошо. Я понял. Спасибо. Вы мне очень помогли : ))