Android移動應用基礎教程【廣播機制】

一、廣播機制的概述

通常情況下在學校的每個教室都會裝有一個喇叭,這些喇叭是接入到學校廣播室的。如果有重要通知,會發送一條廣播來告知全校師生。爲了便於發送和接收系統級別的消息通知,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);

四、本章小結

本章詳細地講解了廣播接收者的相關知識,首先介紹了什麼是廣播接收者,然後講解了如何自定義廣播以及廣播的類型。通過本章的學習,要求初學者能夠熟練掌握廣播接收者的使用,並在實際開發中進行應用。

我不知道離別的滋味是這樣淒涼,我不知道說聲再見要這麼堅強。——《千與千尋》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章