通過清單文件的方式注冊的。
靜態注冊步驟:1.自定義一個類,繼承自BroadCastReceiver,實現onReceiver方法2.在清單文件中添加<receiver>標簽,<intent-filter>,<action>3.在主類中通過隱式意圖發送廣播,sendBroadcast(intent)4.在廣播中接收intent的值動態注冊: 特點:當你點擊某個事件時,廣播才會生成,并且App退出時,廣播則死亡,在廣播死亡之前,你要手動的注銷廣播,否則會報錯。通過代碼的方式注冊的。動態注冊步驟:1.自定義類,繼承自BroadCastReceiver,實現onReceiver方法2.在自定義類中,添加一個靜態常量Action3.在主類中通過按鈕實現注冊。調用registerReceiver方法(你要實現的廣播類,意圖過濾器)4.發送廣播。sendBroadCast(intent)5.在onDestroy方法中,銷毀廣播unregisterReceiver,記住要加判斷,如果不為空則銷毀。廣播分兩種:普通廣播 : 特點:當有多個廣播存在時,接收消息的時候,沒有固定順序,如果為靜態注冊,則通過清單文件的方式一次向下接收普通廣播,如果為靜態注冊,則根據在清單文件中的位置依次從上至下加載。如果為動態注冊,則會根據代碼的加載順序進行發送。有序廣播:特點:他是根據一個屬性值,整形的,數值越大,優先級越高,數值越小,優先級越小有序廣播,是通過PRiority來區別的,跟你的清單文件的順序沒有任何關系,并且發送廣播的時候不是通過sendBroadCast發送的,而是通過sendOrderedBroadcast發送的,priority的值越大,則這個廣播的優先級越高。新聞熱點
疑難解答