溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

BroadcastReceiver

發(fā)布時(shí)間:2020-09-06 21:09:29 來源:網(wǎng)絡(luò) 閱讀:244 作者:njxsYJY 欄目:開發(fā)技術(shù)

最近在做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。


向AI問一下細(xì)節(jié)

免責(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)容。

AI