Android廣播總結

2021-08-05 21:28:47 字數 923 閱讀 4984

以前面幾篇文章為基礎,總結一下android廣播系統的一些知識

android廣播分為有序廣播和普通廣播

android廣播也可以分為前台廣播和後台廣播

廣播接收器的優先順序預設是0

動態註冊的廣播接收器是非常駐型,一般是跟著activity的生命週期走,所以在activity結束前需要取消註冊廣播接收器;靜態註冊的廣播是常駐型,即使應用未啟動,當有相關的廣播發出時,其會被系統呼叫自動執行

當廣播為有序廣播時,優先順序高的先接收(不分靜態和動態);同級別的廣播,動態優先於靜態;同級別同型別的廣播,靜態:先掃瞄的優先於後掃瞄的,動態:先註冊的優先於後註冊的

當廣播為普通廣播時(預設廣播)時,無視優先順序,動態優先於靜態;同型別廣播,靜態:先掃瞄的有限於後掃瞄的,動態:先註冊的優先於後註冊的

動態註冊的廣播接收器,只可以接收使用隱式intent傳送的廣播,顯示的intent傳送的廣播接收不到;靜態註冊的廣播接收器可以接收顯示intent和隱式intent傳送的廣播,但是顯示intent指示的componentname必須是靜態註冊的廣播接收器的元件名

如果廣播指定了flag_receiver_registered_only,則只有動態註冊的接收器可以收到

不管是靜態註冊的還是動態註冊的receiver,均預設執行在ui主線程,動態註冊的receiver可以指定執行的執行緒

同乙個broadcastreceiver可以註冊多次,每次的intentfilter可以不一樣,但是handler和context必須是一樣的,否則會報illegalstateexception異常。

序列佇列中的廣播客戶端收到後會呼叫服務端的finishreceiver,有序廣播的動態註冊的receiver和靜態註冊的都是在序列佇列中。服務端因為需要等待客戶端呼叫finishreceiver,以改變broadcastrecord的狀態,所以可以實現序列分發。

寧波鼻部整形:

Android中的廣播總結

android中的廣播總結 作為android四大元件之一,廣播接收者。1.根據傳送方式分類 a.標準廣播 非同步執行的廣播,在廣播發出之後,所有的廣播接收器幾乎都會在同一時間接收到這條廣播,因此他們之間沒有任何的先後順序。特點 效率高 缺點 無法攔截。b.有序廣播 同步執行的廣播,在廣播發出去之後...

android 廣播機制

1 首先說andoid 廣播分為系統的和 自定義的 2 註冊方式呢,也是兩種,1 靜態註冊,在manifest.xml 檔案中註冊的 2 動態註冊,用filter 區分 不說了 佔 首先是動態註冊 broadreceiver re new broadreceiver 自己定義的接收器 intentf...

Android基礎 廣播

broadcast receiver 廣播算是比較特殊的乙個元件 它在使用的時候有兩種註冊模式 一種是靜態註冊 一種是動態註冊 靜態註冊就是在清單檔案中註冊 這種註冊方法有些頻繁使用的廣播是不支援靜態註冊的 因為每次都要便利清單檔案 同時 廣播的觸發條件又較為頻繁 如螢幕是否關閉等 這種註冊的廣播持...