LocalBroadcastManager发送广播

1.发送

    private void sendAliasBroadcastReceive(String userId) {
        Intent aliasIntent = new Intent(Constants.MESSAGE_RECEIVED_ALIAS_ACTION);
        aliasIntent.putExtra(Constants.LOGINUSERID, userId);
        LocalBroadcastManager.getInstance(this).sendBroadcast(aliasIntent);
    }

2.接收

    //获取登陆成功用户id
    private void registerAliasReceiver() {
        mMessageReceiver = new MessageReceiver();
        IntentFilter filter = new IntentFilter();
        filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        filter.addAction(Constants.MESSAGE_RECEIVED_ALIAS_ACTION);
        LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
    }



   public class MessageReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            try {
                if (Constants.MESSAGE_RECEIVED_ALIAS_ACTION.equals(intent.getAction())) {
                    String userId = intent.getStringExtra(Constants.LOGINUSERID);
                }
            } catch (Exception e) {
            }
        }
    }

3.注销

  @Override
    protected void onDestroy() {
        LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
        super.onDestroy();
    }

 

你可能感兴趣的:(android)