一、標准廣播and有序廣播
標准廣播發出后所有廣播接受器幾乎同一時刻收到廣播,並且沒有順序,所以廣播不可被截斷。
有序廣播發出后同一時刻只能有有一個廣播接收器收到廣播消息,因此優先級高的廣播的先收到消息,並且前面的接受器還可以截斷消息。
二、動態注冊廣播接收器
注冊廣播的方式有兩種:靜態注冊和動態注冊
靜態注冊是在AndroidManifest.xml注冊文件里注冊,動態注冊時在代碼中注冊
(1)創建廣播接收器
創建一個類繼承BroadcastReceiver 並重寫onReceive()方法
(2)在onCreat()方法中創建IntentFilter實例
實現Intent過濾器類,並且添加調用.addAction()方法,添加想要監聽的action。
(3)在oncreat()方法中實現剛才寫的廣播接聽器
(4)調用registerReceiver()方法注冊
registerReceiver(BroadcastReceiver,IntentFilter)將要注冊的廣播接收器和intent過濾器傳給函數,這樣就注冊了專門用於接收某種action的廣播接收器。
(5)動態注冊需要在onDestroy()方法中取消注冊
unregisterRecevier(BroadcastReceiver)
二、靜態注冊廣播接收器
(1)與動態一樣創建繼承BroadcastRecevier的類並重寫onReceiver()方法
(2)在注冊表AndroidManifast.xml里添加注冊代碼
<receiver android:name=“.xxx繼承自BroadcaseRecevier類” android:enable="true" android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.XXX想要監聽的action"></action>
</intent-filter>
</receiver>
(3)其中enable是指是否啟動這個廣播接收器;exported:是否允許接收本程序以外的廣播
二、靜態注冊與動態注冊
動態注冊可以自由控制注冊與注銷,但是必須要在程序將啟動后才可以接收。而靜態則可以監聽。
在廣播接收器中不要寫太多操作,並且不能使用進程。