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

2021-09-08 18:17:44 字數 1577 閱讀 8987

判斷網路型別是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位址

privatestring getphoneip()  } } } catch(exception e)  return ""; }

/*

* * 判斷是否是2g網路

* * @param context

* @return

*/@suppresslint(

"newapi")

public

boolean getnetworktype()

else

if (networkinfo.gettype() ==connectivitymanager.type_mobile)

else

break

; }}}

else

return

is2g;

}

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我都已經測試過,暫時手上 沒有電信的卡,所以沒有驗證,有電信手機的同事,可以驗證一下,驗證後將結果 傳送給大家。connectiv...