Android 註冊廣播有幾種方式及優缺點

在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)第二種是常駐型,也就是說當應用程序關閉後,如果有信息廣播來,程序也會被系統調用自動運行。

 

 

You May Also Like