Android基礎 廣播

2021-07-14 22:22:25 字數 929 閱讀 8435

broadcast receiver

廣播算是比較特殊的乙個元件  

它在使用的時候有兩種註冊模式   一種是靜態註冊 一種是動態註冊  

靜態註冊就是在清單檔案中註冊   

這種註冊方法有些頻繁使用的廣播是不支援靜態註冊的 因為每次都要便利清單檔案  同時 廣播的觸發條件又較為頻繁(如螢幕是否關閉等)

這種註冊的廣播持續時間長(全程有效)

動態註冊是在**中註冊廣播  需要注意的是動態註冊的廣播需要反註冊掉 否則會記憶體洩漏  (某些特殊的廣播監聽  如待機之類的發生比較頻繁的事件不支援靜態註冊 ----頻繁遍歷所有清單檔案)

廣播分為兩種 一種是有序廣播(可以攔截) 一種是無序廣播  不能攔截  

廣播在建立的時候也是需要繼承  基類 broadcastreceiver   

或者 直接new乙個broadcastreceiver    重寫其中的onreceive()方法   

在註冊廣播的時候需要給廣播新增乙個action       通過intentfilter可以給廣播新增乙個action   如果是靜態註冊直接寫在清單檔案即可

**註冊的示例:

intentfilter filter = new intentfilter();

filter.addaction(reflush);

registerreceiver(receiver, filter);

清單檔案註冊示例 (極光推送的廣播註冊)

正常使用時通過onreceive() 方法中的intent.getaction  來判斷是哪乙個是否是自己的廣播

然後 寫入邏輯**

動態註冊和靜態註冊的優缺點:

動態註冊廣播可以靈活地控制廣播的開啟和關閉十分靈活  但是動態註冊的廣播只有在程式原型後廣播被註冊後才能接收到廣播  

靜態註冊的廣播  不是必須在程式啟動後才可以接收廣播

android 廣播機制

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

Android定向廣播

有時候我們在使用廣播的時候不希望自己傳送的廣播被其他應用程式接收到,那怎麼辦呢?我們只能定向的傳送廣播。本篇博文介紹一下定向廣播的使用。在進入正題之前先來介紹一下android ssp這個屬性。這個是google在api level 19加入的乙個xml 屬性,用於intent過濾的標籤中。ssp是...

android廣播機制

android中系統事件傳送乙個廣播訊息,如果應用監聽系統廣播就會收到。普通廣播 也叫無序廣播 有序廣播 可以被攔截 粘性廣播 等待被處理 廣播註冊有兩種方式,動態註冊和靜態註冊。註冊叫做動態註冊,比需應用啟動 並且與相應activity繫結 才有效,靜態註冊不管應用是否啟動都有效 是有點流氓 廣播...