1. ホーム
  2. アンドロイド

[解決済み】AndroidでReceiverが登録されているかどうかを確認する方法は?

2022-04-15 19:32:47

質問

登録した受信機がまだ登録されているかどうかを確認したいのですが、どのような方法で確認すればよいですか?

解決方法は?

を考えると、直接APIが提供されているとは思えません。 このスレッド :

私も同じことを思っていました。

私の場合 BroadcastReceiver を呼び出す実装があります。 Context#unregisterReceiver(BroadcastReceiver) は、受け取ったIntentを処理した後、自分自身を引数として渡します。

わずかな確率ですが、受信機の onReceive(Context, Intent) メソッドが呼び出されます。 には複数登録されているため、複数回の登録が可能です。 IntentFilters が発生する可能性があります。 IllegalArgumentException から投げられた Context#unregisterReceiver(BroadcastReceiver) .

私の場合、プライベートなsynchronizedメンバを保存して、呼び出す前にチェックすることができます。 Context#unregisterReceiver(BroadcastReceiver) しかし、それは APIがチェック・メソッドを提供してくれれば、もっとすっきりする。