標籤:
概述:BroadcastReceiver用於接收並處理廣播通知(broadcastannouncements)。
多數的廣播是系統發起的,如地區變換、電量不足、來電來信等。程式也可以播放一個廣播。程式可以有任意數量的 broadcast receivers來 響應它覺得重要的通知。broadcast receiver可以通過多種方式通知使用者:啟動activity、使用 NotificationManager、開啟背景燈、震動裝置、播放聲音等,最典型的是在狀態列顯示一個表徵圖,這樣使用者就可以點它開啟看通知內容。通常 我們的某個應用或系統本身在某些事件(電池電量不足、來電來簡訊)來臨時會廣播一個Intent出去,我們可以利用註冊一個 Broadcast Receiver來監聽到這些Intent並擷取Intent中的資料。
註冊廣播的幾種方以及這些方式有何優缺點?
首先寫一個類要繼承BroadcastReceiver
第一種:在資訊清單檔中聲明,添加
<receive android:name=".IncomingSMSReceiver " >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED")
<intent-filter>
<receiver>
第二種使用代碼進行註冊如:
IntentFilter filter = new
IntentFilter("android.provider.Telephony.SMS_RECEIVED");
IncomingSMSReceiver receiver = new IncomgSMSReceiver();
registerReceiver(receiver.filter);
兩種註冊類型的區別是:
1)第一種不是常駐型廣播,也就是說廣播跟隨程式的生命週期。
2)第二種是常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統調用自動運行。
Android四大套件BroadCastReceiver