Android網路型別判斷 2g 3g wifi

2021-09-22 10:58:57 字數 1266 閱讀 5837

判斷網路型別是wifi,還是3g,還是2g網路,對不同

說明:下面用到的資料移動2g,聯通2g,聯通3g,wifi我都已經測試過,暫時手上

沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果

傳送給大家。

connectivitymanager connectmgr = (connectivitymanager) this

.getsystemservice(context.connectivity_service);

networkinfo info = connectmgr.getactivenetworkinfo();

一、判斷網路是否是wifi,在判斷之前一定要進行的非空判斷,如果沒有任何網路

連線info ==null

info.gettype() == connectivitymanager.type_wifi

二、判斷是否是手機網路

info !=null && info.gettype() ==  connectivitymanager.type_mobile

手機網路進行詳細區分:

info.getsubtype() 這裡使用 getsubtype(),不是 gettype(),gettype()返回的

是0,或者1,是區分是手機網路還是wifi

info.getsubtype()取值列表如下:

* network_type_cdma 網路型別為cdma

* network_type_edge 網路型別為edge

* network_type_evdo_0 網路型別為evdo0

* network_type_evdo_a 網路型別為evdoa

* network_type_gprs 網路型別為gprs

* network_type_hsdpa 網路型別為hsdpa

* network_type_hspa 網路型別為hspa

* network_type_hsupa 網路型別為hsupa

* network_type_umts 網路型別為umts

聯通的3g為umts或hsdpa,移動和聯通的2g為gprs或edge,電信的2g為cdma,電信

的3g為evdo

android獲取手機的ip位址

private string getphoneip()   

} }

} catch (exception e)

return "";

}

Android網路型別判斷 2g 3g wifi

判斷網路型別是wifi,還是3g,還是2g網路,對不同 說明 下面用到的資料移動2g,聯通2g,聯通3g,wifi我都已經測試過,暫時手上 沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果 傳送給大家。connectivitymanager connectmgr connec...

Android網路型別判斷 2g 3g wifi

判斷網路型別是wifi,還是3g,還是2g網路,對不同 說明 下面用到的資料移動2g,聯通2g,聯通3g,wifi我都已經測試過,暫時手上 沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果 傳送給大家。connectivitymanager connectmgr connec...

Android網路型別判斷 2g 3g wifi

判斷網路型別是wifi,還是3g,還是2g網路,對不同 說明 下面用到的資料移動2g,聯通2g,聯通3g,wifi我都已經測試過,暫時手上 沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果 傳送給大家。connectivitymanager connectmgr connec...