Android 获取当前网络模式
[1].[代码] android 跳至 [1] [2]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/****
* 获取网络类型
*
* @param context
* @return
*/
public
static
String getNetType(Context context) {
try
{
ConnectivityManager connectMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectMgr.getActiveNetworkInfo();
if
(info ==
null
) {
return
""
;
}
if
(info.getType() == ConnectivityManager.TYPE_WIFI) {
return
"WIFI"
;
}
else
if
(info.getType() == ConnectivityManager.TYPE_MOBILE) {
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_CDMA) {
return
"CDMA"
;
}
else
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_EDGE) {
return
"EDGE"
;
}
else
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_EVDO_0) {
return
"EVDO0"
;
}
else
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_EVDO_A) {
return
"EVDOA"
;
}
else
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_GPRS) {
return
"GPRS"
;
}
/*
* else if(info.getSubtype() ==
* TelephonyManager.NETWORK_TYPE_HSDPA){ return "HSDPA"; }else
* if(info.getSubtype() == TelephonyManager.NETWORK_TYPE_HSPA){
* return "HSPA"; }else if(info.getSubtype() ==
* TelephonyManager.NETWORK_TYPE_HSUPA){ return "HSUPA"; }
*/
else
if
(info.getSubtype() == TelephonyManager.NETWORK_TYPE_UMTS) {
return
"UMTS"
;
}
else
{
return
"3G"
;
}
}
else
{
return
""
;
}
}
catch
(Exception e) {
return
""
;
}
}
|
[2].[代码] 或者这种方式 跳至 [1] [2]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* ****** 获取当前网络类型 当用wifi上的时候 getType 是 WIFI getExtraInfo是空的 当用手机上的时候
* getType 是MOBILE
* <p/>
* 用移动CMNET方式 getExtraInfo 的值是cmnet 用移动CMWAP方式 getExtraInfo 的值是cmwap
* 但是不在代理的情况下访问普通的网站访问不了
* <p/>
* 用联通3gwap方式 getExtraInfo 的值是3gwap 用联通3gnet方式 getExtraInfo 的值是3gnet
* 用联通uniwap方式 getExtraInfo 的值是uniwap 用联通uninet方式 getExtraInfo 的值是uninet
*
* @return
*/
public
static
String getNetType() {
String netType =
"WIFI"
;
ConnectivityManager connectionManager = (ConnectivityManager) GloableParams.CONTEXT
.getSystemService(CONNECTIVITY_SERVICE);
// 获取网络的状态信息,有下面三种方式
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if
(networkInfo ==
null
) {
return
netType;
}
int
nType = networkInfo.getType();
if
(nType == ConnectivityManager.TYPE_MOBILE) {
if
(networkInfo.getExtraInfo()!=
null
) {
netType = networkInfo.getExtraInfo();
}
}
else
if
(nType == ConnectivityManager.TYPE_WIFI) {
netType =
"WIFI"
;
}
return
netType;
}
|