您好,登錄后才能下訂單哦!
最近在做XSuperSMS精簡版鋼板管理系統(tǒng)的掃描部分時(shí),用到了廣播接收器BroadcastReceiver,經(jīng)過研究對廣播接收器的用法有了進(jìn)一步的認(rèn)識。以下我就貼上BroadcastReceiver的基礎(chǔ)知識。
首先我們要了解廣播接收器的概念
①廣播接收器是一個(gè)專注于接收廣播通知信息,并做出對應(yīng)處理的組件。很多廣播是源自于系統(tǒng)代碼的──比如,通知時(shí)區(qū)改變、電池電量低、拍攝了一張照片或者用戶改變了語言選項(xiàng)。應(yīng)用程序也可以進(jìn)行廣播──比如說,通知其它應(yīng)用程序一些數(shù)據(jù)下載完成并處于可用狀態(tài)。
②應(yīng)用程序可以擁有任意數(shù)量的廣播接收器以對所有它感興趣的通知信息予以響應(yīng)。所有的接收器均繼承自BroadcastReceiver基類。
③廣播接收器沒有用戶界面。然而,它們可以啟動一個(gè)activity來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力──閃動背燈、震動、播放聲音等等。一般來說是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶可以打開它并獲取消息。
其次廣播事件的流程
①注冊廣播事件:注冊方式有兩種,一種是靜態(tài)注冊,就是在AndroidManifest.xml文件中定義,注冊的廣播接收器必須要繼承BroadcastReceiver;另一種是動態(tài)注冊,是在程序中使用Context.registerReceiver注冊,注冊的廣播接收器相當(dāng)于一個(gè)匿名類。兩種方式都需要IntentFIlter。
②發(fā)送廣播事件:通過Context.sendBroadcast來發(fā)送,由Intent來傳遞注冊時(shí)用到的Action。
③接收廣播事件:當(dāng)發(fā)送的廣播被接收器監(jiān)聽到后,會調(diào)用它的onReceive()方法,并將包含消息的Intent對象傳給它。onReceive中代碼的執(zhí)行時(shí)間不要超過5s,否則Android會彈出超時(shí)dialog。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。