一.Android廣播機制的介紹
特點:發送方並不關心接收方是否收到資料,以及受到資料之後的操作。
二.BroadcastReceiver的作用
廣播接收者(
BroadcastReceiver
)用於接收廣播
Intent
,廣播
Intent
的發送是通過調用
Context.sendBroadcast()
、
Context.sendOrderedBroadcast()
來實現的。通常一個廣播
Intent
可以被訂閱了此
Intent
的多個廣播接收者所接收。
廣播是一種廣泛運用的在應用程式之間傳輸資訊的機制
。而
BroadcastReceiver
是對發送出來的廣播進行過濾接收並響應的一類組件;
來自普通應用程式,如一個代理程式更新其他應用程式某些資料已經下載完畢。
BroadcastReceiver
自身並不實現圖形化使用者介面,但是當它收到某個通知後,
BroadcastReceiver
可以啟動
Activity
作為響應,或者通過
NotificationMananger
提醒使用者,或者啟動
Service
等等。
三.BroadcastReceive的生命週期
當點擊按鈕之後intent會到AndroidManifest.xml檔案中找是不是有匹配的action,如果有就會調用TestReceiver ,然後獲得TestReceiver 對象,再執行onReceive方法,這時候TestReceiver 對象就沒有用了,當我們再次點擊按鈕的時候就會重新獲得對象,這就是BroadcastReceiver的生命週期;
四.對於整個BroadcastReceive是如何?的自我觀點
首先,需要自己定義一個繼承自BroadcastReceive的類,然後複寫它的onReceive方法,我們主要的代碼都在這個方法裡面寫。然後,需要在AndroidManifest.xml這裡面進行註冊一下,用<receive>這個標籤進行生命,並用<intent-filter>進行過濾,這裡面有一點很重要的是intent是由action和edit這倆方面決定。然後就是編寫Activity這個類,這裡面需要需要寫一個監聽器,然後通過Intent的setAction以及Activity的sendBroadcast進行發送廣播。