一、廣播機制的概述
通常情況下在學校的每個教室都會裝有一個喇叭,這些喇叭是接入到學校廣播室的。如果有重要通知,會發送一條廣播來告知全校師生。爲了便於發送和接收系統級別的消息通知,Android系統也引入了一套類似廣播的消息機制。
Android中的廣播(Broadcast)機制用於進程/線程間通信,該機制使用了觀察者模式,觀察者模式是一種軟件設計模式,該模式是基於消息的發佈/訂閱事件模型,該模型中的消息發佈者是廣播機制中的廣播發送者,消息訂閱者是廣播機制中的廣播接收者,廣播機制的具體實現流程,如下圖所示。
二、 廣播接收者
1、 什麼是廣播接收者
2、廣播接收者的創建
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
//在該方法中實現廣播接收者的相關操作
public void onReceive (Context context, Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
}
receiver = new MyBroadcastReceiver(); //實例化廣播接收者
//實例化過濾器並設置要過濾的廣播
String action = "android.provider.Telephony.SMS_RECEIVED";
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(action);
registerReceiver(receiver,intentFilter); //註冊廣播
三、自定義廣播與廣播的類型
1、自定義廣播
2 、發送求救信號
3 、廣播的類型
//動態註冊MyReceiver廣播
MyReceiver one = new MyReceiver ();
IntentFilter filter = new IntentFilter();
//數值越大,優先級越高。如果兩個廣播接收者的優先級相同,則先註冊的廣播接收者優先級高。
filter.setPriority(1000);
filter.addAction("Intercept_Stitch");
registerReceiver(one,filter);
四、本章小結
本章詳細地講解了廣播接收者的相關知識,首先介紹了什麼是廣播接收者,然後講解了如何自定義廣播以及廣播的類型。通過本章的學習,要求初學者能夠熟練掌握廣播接收者的使用,並在實際開發中進行應用。
我不知道離別的滋味是這樣淒涼,我不知道說聲再見要這麼堅強。——《千與千尋》