BroadcastReceiver with multiple filters or multiple BroadcastReceivers?

后端 未结 2 817
误落风尘
误落风尘 2020-12-12 14:36

I have an Android Activity that needs to catch two different broadcasts. My current approach is to have a single BroadcastReceiver within the Activity and catch

2条回答
  •  無奈伤痛
    2020-12-12 15:03

    For every action , create IntentFilter and register it.

    @Override
    protected void onResume() {
    
        super.onResume();
    
        BroadcastListener receiver = new BroadcastListener();
    
        // Register the filter for listening broadcast.
        IntentFilter filterRefresh = new IntentFilter(Params.INTENT_REFRESH);
        IntentFilter filterUpdate = new IntentFilter(Params.INTENT_UPDATE);
    
        registerReceiver(receiver, filterRefresh);
        registerReceiver(receiver, filterUpdate);
    } 
    
    
    
    private class BroadcastListener extends BroadcastReceiver {
        public void onReceive(Context ctx, Intent intent) {
    
            if (intent.getAction().equals(Params.INTENT_UPDATE)) {
                update();
            } else if(intent.getAction().equals(Params.INTENT_REFRESH)) {
                refresh();
            }
        }
    
    }
    

提交回复
热议问题