android-广播Broadcast【十三】
android--广播Broadcast【十三】
2.广播监听以及处理广播消息
3.广播监听停止
4.分别在onResume和onPause事件里面调用
5.测试发广播
广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,起到进程间通信的作用,主要是用于通知方面的.,下面要创建一个该例子的demo.
1.先定义一下通知广播的消息标识
private String MSG_BROADCAST = "MSG_BROADCAST";
2.广播监听以及处理广播消息
private void listen() { IntentFilter filter = new IntentFilter(); filter.addAction(MSG_BROADCAST); MainActivity.this.registerReceiver(receiver, filter); } private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (MSG_BROADCAST.equals(action)) { Log.i(TAG,"recv msg"); } } };
3.广播监听停止
private void stopListen() { MainActivity.this.unregisterReceiver(receiver); }
4.分别在onResume和onPause事件里面调用
@Override public void onResume() { super.onResume(); listen(); } @Override public void onPause() { super.onPause(); stopListen(); }
5.测试发广播
btn = (Button) this.findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.i(TAG, "btn click start "); Intent intent = new Intent(MSG_BROADCAST); intent.putExtra("message", "test");// 参数 sendBroadcast(intent); } });