带有Intent过滤器的Android registerReceiver:是否需要检查操作?

时间:2019-03-19 13:03:34

标签: android broadcastreceiver intentfilter

假设我有这个接收者:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if(ACTION.equals(intent.action)){
                doSth()
            }      
        };

然后我像这样动态注册它:

mContext.registerReceiver(mReceiver, new IntentFilter(ACTION));

我需要使用

检查接收器内部吗?
 if(ACTION.equals(intent.action)){
                doSth()
            }

因为在方法registerReceiver内部,我将ACTION放入了一个intentFilter?

1 个答案:

答案 0 :(得分:2)

如果您的过滤器正确,则无需检查操作。根据文档,“将在主应用程序线程中使用匹配过滤器的任何广播Intent调用接收器”。更多信息:https://developer.android.com/reference/android/content/Context.html#registerReceiver(android.content.BroadcastReceiver,%20android.content.IntentFilter)