BroadcastReceiver

最近在做XSuperSMS精簡版鋼板管理系統的掃描部分時,用到了廣播接收器BroadcastReceiver,經過研究對廣播接收器的用法有了進一步的認識。以下我就貼上BroadcastReceiver的基礎知識。

首先我們要了解廣播接收器的概念

①廣播接收器是一個專注於接收廣播通知信息,並做出對應處理的組件。很多廣播是源自於系統代碼的──比如,通知時區改變、電池電量低、拍攝了一張照片或者用戶改變了語言選項。應用程序也可以進行廣播──比如說,通知其它應用程序一些數據下載完成並處於可用狀態。

②應用程序可以擁有任意數量的廣播接收器以對所有它感興趣的通知信息予以響應。所有的接收器均繼承自BroadcastReceiver基類。

③廣播接收器沒有用戶界面。然而,它們可以啓動一個activity來響應它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力──閃動背燈、震動、播放聲音等等。一般來說是在狀態欄上放一個持久的圖標,用戶可以打開它並獲取消息。

其次廣播事件的流程

①註冊廣播事件:註冊方式有兩種,一種是靜態註冊,就是在AndroidManifest.xml文件中定義,註冊的廣播接收器必須要繼承BroadcastReceiver;另一種是動態註冊,是在程序中使用Context.registerReceiver註冊,註冊的廣播接收器相當於一個匿名類。兩種方式都需要IntentFIlter。

②發送廣播事件:通過Context.sendBroadcast來發送,由Intent來傳遞註冊時用到的Action。

③接收廣播事件:當發送的廣播被接收器監聽到後,會調用它的onReceive()方法,並將包含消息的Intent對象傳給它。onReceive中代碼的執行時間不要超過5s,否則Android會彈出超時dialog。


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