android 廣播機制

2021-07-25 09:40:23 字數 2185 閱讀 2611

android的廣播機制,在我們開發的過程中,有很多要用到的地方。

廣播機制,說白了就是乙個傳送廣播,乙個接受廣播。

我還是拿我自己的例子來進行說明吧。 

我需要對自己當前的網路進行乙個判斷。如果當前網路環境斷開連線了,或者發生變化什麼的。

在這個時候,我們傳送乙個廣播,然後當我們只要接受到這條特定的廣播訊息以後,彈出toast,提示當前網路斷開。就這麼乙個例子吧。

具體還是邊上**,邊說明吧。

1.第一種方法就是配置檔案進行註冊廣播,然後廣播接收器接受廣播:

我做的是全域性的廣播。 所以我們首先在我們的manifest.xml中,對廣播進行註冊宣告:

android

:name=

".broadcast.connectionchangereceiver"

>

android

:name=

"android.net.conn.connectivity_change"

/>

action就是我們廣播的名字,也就是特定的標識。然後connectionchangereceiver就是我們自己寫的廣播接收器。

白話一下就是,當我們自定義的這個receiver接受到action的廣播的時候,執行什麼樣的操作。

個人理解,不對的地方還請大家給予指教。

接下來就是我們的receiver的接收廣播後的**:

public class connectionchangereceiver extends broadcastreceiver  else 

}}

這就是乙個簡單的廣播傳送接收處理邏輯。

2.第二種方法就是所謂的動態註冊廣播,傳送廣播的方法了。

首先,我們註冊廣播接收器:

private downloadedreceiver receiver

;

receiver = new downloadedreceiver();

this.registerreceiver(receiver

, new intentfilter(configutil.action_downloading

));

宣告廣播接收器,然後進行註冊。

動態註冊時候要注意: registerreceiver中的兩個引數,乙個是我們的接收器,乙個則是過濾器。

filter尤其說明一下:只有我們傳送的廣播是configutil.action_downloading的時候,我們才能接收到。

接下來就要說一下我們的傳送廣播的地方了。

傳送廣播,在我們需要的地方做如下操作:

intent intent = new 

intent(configutil.action_downloading

);intent.putextra("status"

, status);

intent.putextra("title"

, title);

sendbroadcast(intent);

一方面,過濾器必須要一致。也就是new intent(configutil.action_downloading),這個也就是我們的過濾標識,即action。

然後putextra進行資料的攜帶。

最後就可以進行sendbroadcast了。傳送廣播攜帶我們的intent。裡面有action的過濾,有攜帶的資料。

那麼廣播接收的具體操作呢?

來了:

//

廣播接收器

private class downloadedreceiver extends broadcastreceiver

int downloadstatus = intent.getintextra("status"

, paramsutil.invalid

); }

}

這就是我們的廣播接收器的具體操作啦。因為註冊廣播的時候已經與傳送廣播的過濾進行了匹配,所以具體的操作以及putextra的資料都可以在這裡獲取到。

這就是廣播的傳送接收的兩種模式了吧。我做了一些白話方面的解釋。網上已經有很多了,個人純屬自己的記錄,能看的更加明了。

廣播的作用,大家也可以進行聯想,其實就是可以讓我們在程式中進行傳輸資訊的一種機制。大家可以多方面運用。對廣播的了解也是比較重要的。

android 廣播機制

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

android廣播機制

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

android 廣播機制

192.168.0.子網掩碼是 255.255.255.0,那麼這個網路的廣播位址就是 192.168.0.255。廣播資料報會被傳送到同一網路上的所有埠,這樣在該網路中的每台主機都將會收到這條 廣播。為了方便於進行系統級別的訊息通知,android 也引入了一套類似的廣播訊息機制。相 比於我前面舉...