Android 監聽網路狀態

2021-06-17 16:38:48 字數 1053 閱讀 9052

原文:

網路狀態發生變化的時候,系統會發出 android

.net.conn.connectivity_change 廣播

手機解鎖動作的時候,系統會發出android.intent.action.user_present 廣播,我這裡為了在解鎖手機時獲取到,所以新增上手機解鎖事件廣播。

註冊receiver後,就可以在connctionchangereceiver中接收到網路狀態變化和手機解鎖動作的廣播

其次,我們處理接收到的廣播,實現方法如下,在onreceive中新增網路狀態判斷

connectivitymanager connectmgr = (connectivitymanager) context.getsystemservice(context.connectivity_service); 

networkinfo mobnetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_mobile);

networkinfo wifinetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_wifi);

connectivitymanager 獲取當前系統服務資訊

getnetworkinfo 分別獲取 型別為mobile和wifi兩種聯網方式的資訊。

通過判斷mobnetinfo.isconnected() 和 wifinetinfo.isconnected() 返回的boolean 布林值來確定當前聯網狀態。

if (!mobnetinfo.isconnected() && !wifinetinfo.isconnected())  else  

這裡只新增了當前是否連線網路,如果需要區分是資料還是wifi連線,可以分別判斷。

這裡要注意,新增android permission訪問許可權

"android.permission.access_network_state" /> 

以上就是android 監聽網路狀態的**實現過程。

android監聽網路狀態

public class wificonnlisterer extends broadcastreceiver else if wifistate wifimanager.wifi state enabled 這個監聽wifi的連線狀態即是否連上了乙個有效無線路由,當上邊廣播的狀態是wifimana...

Android的網路狀態監聽

1 獲取當前網路資訊 想要獲取當前的網路資訊,就得獲取connectivitymanager,呼叫connectivitymanager的getactivenetworkinfo 方法,返回乙個networkinfo物件。這個networkinfo物件中的gettypename 方法,會返回當前的網...

Android 下網路狀態監聽

最近在做網路監聽的時候發現原來用的 networkinfo 中好多方法已經過期,so 看了下sdk及文件現將最新方法記錄下。獲取網路連線管理 connectivitymanager connectivitymanager connectivitymanager context.getsystemse...