Android 四大组件BoradcastReceiver 广播

在项目中较少用到广播机制,今天用到了总结一下
首先注册广播的方式有两种一种是静态注册(配置文件注册),一种是动态注册(代码写入)
分享一下动态注册的吧
第一步
A类 发送广播

        Intent mIntent = new Intent("wx");
        mIntent.putExtra("wxpayre", String.valueOf(resp.errCode));
        //发送广播
        sendBroadcast(mIntent);

第二步;
B类 接收并处理广播发送过来的信息
首先注册一个广播

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_recharge);
        registerBoradcastReceiver();
    }

    public void registerBoradcastReceiver() {
        IntentFilter myIntentFilter = new IntentFilter();
        myIntentFilter.addAction("wx");
        //注册广播
        registerReceiver(mBroadcastReceiver, myIntentFilter);
    }

接收广播发送过来的信息并处理

    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (action.equals("wx")) {
                if ("-2".equals(intent.getStringExtra("wxpayre"))) {
                    ToastUtils.showToastLong(MyBalanceRechargeActivity.this, "取消支付");
                } 
            }
        }

    };

注意广播名称和发送的键值
欢迎加入QQ技术群 225948944

你可能感兴趣的:(Android基础)