#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. ах, хорошо. Я понял. Спасибо. Вы мне очень помогли : ))