Android中动态(在类中)注册广播接收者,并发送广播

动态广播的的注册
第1步:创建一个广播接收者

/**
 * 广播接收者
 */

public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.e("111", "接收成功"+intent.getStringExtra("zhh"));
    }
}

第2步:在Activity中创建创建一个 MyReceiver 的实例

MyReceiver receiver = new MyReceiver();

第3步:在Activity的 onCreate 方法中注册广播接收者

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_broadcast);
        
        // 注册广播接受者
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("com.zhh.android");//要接收的广播
        registerReceiver(receiver, intentFilter);//注册接收者
    }

第2步:在Activity的 onDestroy 方法中注销广播接受者

    @Override
    protected void onDestroy() {
        super.onDestroy();
        
        //取消注册
        unregisterReceiver(receiver);
    }

第3步:发送广播

  // 发送广播
  Intent intent = new Intent("com.zhh.android");
  intent.putExtra("zhh", "123456");
  sendBroadcast(intent);

注意:用真机测试,模拟器不起作用

你可能感兴趣的:(广播)