標籤:broadcastreceiver broadcast android
廣播(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() {@Overridepublic 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事件裡面調用
@Overridepublic void onResume() {super.onResume();listen();}@Overridepublic void onPause() {super.onPause();stopListen();}
5.測試發廣播
btn = (Button) this.findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Log.i(TAG, "btn click start ");Intent intent = new Intent(MSG_BROADCAST);intent.putExtra("message", "test");// 參數sendBroadcast(intent);}});
android--廣播Broadcast【十三】