網路連線狀態廣播監聽

2021-09-11 21:56:30 字數 1020 閱讀 8836

廣播註冊:

1. intentfilter filter = new intentfilter();  

2. filter.addaction("android.net.conn.connectivity_change");

3. filter.addaction("android.net.wifi.wifi_state_changed");

4. filter.addaction("android.net.wifi.state_change");

5. registerreceiver(mnetworkchangelistener,filter);

複製**

廣播接收者的具體**如下,主要是幾個廣播的幾個intent.getaction()的含義,需要多注意。

wifimanager.wifi_state_changed_action

複製**

這個監聽wifi的開啟與關閉,與wifi的連線無關

wifimanager.network_state_changed_action

複製**

這個監聽wifi的連線狀態即是否連上了乙個有效無線路由,當上邊廣播的狀態是wifimanager.wifi_state_disabling 和 wifi_state_disabled 的時候,根本不會接到這個廣播。 在上邊廣播接到廣播是wifimanager.wifi_state_enabled狀態的同時也會接到這個廣播,當然剛開啟wifi肯定還沒有連線到有效的無線

connectivitymanager.connectivity_action

複製**

這個監聽網路連線的設定,包括wifi和移動資料的開啟和關閉。. 最好用的還是這個監聽。wifi如果開啟,關閉,以及連線上可用的連線都會接到監聽。這個廣播的最大弊端是比上邊兩個廣播的反應要慢,如果只是要監聽wifi,我覺得還是用上邊兩個配合比較合適。 參考資料:

android 監聽網路連線狀態的變化

在android開發中,時常要對網路連線狀態變化的事件作出適當的處理。處理方式可通過監聽android.net.conn.connectivity change廣播實現。記錄處理 如下 第一步,實現廣播處理邏輯 private broadcastreceiver mconnectreceiver n...

Android網路連線相關廣播

新建乙個類繼承broadcastreceiver,用於接收廣播,並作相應的處理 class netchangereceiver extends broadcastreceiver else if action.equals ethernetmanager.ethernet state changed...

Android網路連線相關廣播

新建乙個類繼承broadcastreceiver,用於接收廣播,並作相應的處理 class netchangereceiver extends broadcastreceiver else if action.equals ethernetmanager.ethernet state changed...