是否可以取消注册BroadCast Lister

时间:2011-03-11 17:40:18

标签: android broadcastreceiver

我在清单中注册了5个不同事件的BroadcastReceiver。

为简单起见,我们假设事件被命名为A,B,C,D和E.

收到事件B后,我想取消注册接收器以停止侦听事件E.可以这样做吗?

1 个答案:

答案 0 :(得分:2)

通过unregisterReceiver()在您注册的BroadcastReceiver上致电registerReceiver(),然后使用修订后的IntentFilter重新注册。

如果BroadcastReceiver是通过清单注册的,而不是通过registerReceiver()注册的,则可以通过BroadcastReceiver停用整个PackageManager组件。但是,我知道无法禁用单个意图过滤器,因此您可能需要将E逻辑移到单独的BroadcastReceiver中,这样您就可以独立于其他人启用和禁用它。

相关问题