在android下,要想接受廣播資訊,那麼這個廣播接收器就得我們自己來實現了,我們可以繼承BroadcastReceiver,就可以有一個廣播接收器了。有個接收器還不夠,我們還得重寫BroadcastReceiver裡面的onReceiver方法,然後註冊廣播
有兩種方法,一種是代碼動態註冊:
//產生廣播處理
smsBroadCastReceiver = new SmsBroadCastReceiver();
//執行個體化過濾器並設定要過濾的廣播
IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
//註冊廣播
BroadCastReceiverActivity.this.registerReceiver(smsBroadCastReceiver, intentFilter);
第二種是在AndroidManifest.xml中配置廣播
[html]
<!--廣播註冊-->
<receiver android:name=".SmsBroadCastReceiver">
<intent-filter android:priority="20">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
<!--廣播註冊-->
<receiver android:name=".SmsBroadCastReceiver">
<intent-filter android:priority="20">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
兩種註冊類型的區別是:
1)第一種不是常駐型廣播,也就是說廣播跟隨程式的生命週期。
2)第二種是常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統調用自動運行。