IntentFilter intentFilter = new IntentFilter("test");
registerReceiver(mReceiver, intentFilter);
我希望没有像registerReceiver(mReceiver, null)
这样的过滤器,但我的应用程序崩溃了。我可以将new IntentFiler()
作为空文件管理器吗?
答案 0 :(得分:7)
因为当通过null
的条件没有匹配时,BroadcastReceiver返回IntentFilter
,所以API无法实现您希望实现的目标(我假设将任何和所有广播发送到mReceiver
)。
你当然可以指定一个空的IntentFilter
,但这将是无用的,因为注册接收器不会导致它捕获任何广播(除非它们直接针对接收器,如MisterSquonk所述)在评论中)。否则,您必须准确知道要使用BroadcastReceiver捕获哪些广播,然后在IntentFilter中指定条件。