BroadcastReceiver(廣播接收器),在Android開發(fā)中,BroadcastReceiver的應(yīng)用場景非常多,屬于Android四大組件之一。
我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、利州ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的利州網(wǎng)站制作公司Android 廣播分為兩個角色:廣播發(fā)送者、廣播接收者
一、 作用
用于監(jiān)聽 / 接收 應(yīng)用發(fā)出的廣播消息,并做出響應(yīng)
應(yīng)用場景:
二、實現(xiàn)原理
Android中的廣播使用了設(shè)計模式中的觀察者模式:基于消息的發(fā)布/訂閱事件模型。
模型中有3個角色:
廣播接收者通過 Binder機(jī)制在AMS注冊
廣播發(fā)送者通過 Binder 機(jī)制向AMS發(fā)送廣播
AMS根據(jù)廣播發(fā)送者要求,在已注冊列表中,尋找合適的廣播接收者(尋找依據(jù):IntentFilter / Permission)
AMS將廣播發(fā)送到合適的廣播接收者相應(yīng)的消息循環(huán)隊列中;
廣播接收者通過消息循環(huán)拿到此廣播,并回調(diào) onReceive()
三、廣播接收器注冊
注冊的方式分為兩種:靜態(tài)注冊、動態(tài)注冊
靜態(tài)注冊
在AndroidManifest.xml里通過 標(biāo)簽聲明
//用于接收網(wǎng)絡(luò)狀態(tài)改變時發(fā)出的廣播