相关类型列表:
1、NETWORK_TYPE_1xRTT: 常量值:7 网络类型:1xRTT 2、NETWORK_TYPE_CDMA : 常量值:4 网络类型: CDMA (电信2g) 3、NETWORK_TYPE_EDGE: 常量值:2 网络类型:EDGE(移动2g) 4、NETWORK_TYPE_EHRPD: 常量值:14 网络类型:eHRPD 5、NETWORK_TYPE_EVDO_0: 常量值:5 网络类型:EVDO 版本0.(电信3g) 6、NETWORK_TYPE_EVDO_A: 常量值:6 网络类型:EVDO 版本A (电信3g) 7、NETWORK_TYPE_EVDO_B: 常量值:12 网络类型:EVDO 版本B(电信3g) 8、NETWORK_TYPE_GPRS: 常量值:1 网络类型:GPRS (联通2g) 9、NETWORK_TYPE_HSDPA: 常量值:8 网络类型:HSDPA(联通3g) 10、NETWORK_TYPE_HSPA: 常量值:10 网络类型:HSPA 11、NETWORK_TYPE_HSPAP: 常量值:15 网络类型:HSPA+ 12、NETWORK_TYPE_HSUPA: 常量值:9 网络类型:HSUPA 13、NETWORK_TYPE_IDEN: 常量值:11 网络类型:iDen 14、NETWORK_TYPE_LTE: 常量值:13 网络类型:LTE(3g到4g的一个过渡,称为准4g) 15、NETWORK_TYPE_UMTS: 常量值:3 网络类型:UMTS(联通3g) 16、NETWORK_TYPE_UNKNOWN:常量值:0 网络类型:未知
/**
* 获取网络连接类型
*
* @param context 上下文
* @return 类型:WIFI,2G,3G,4G
*/
public static String GetNetworkType(Context context){
String strNetworkType = "";
//获取网络信息
NetworkInfo networkInfo = ((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI){
strNetworkType = "WIFI";
}else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
String _strSubTypeName = networkInfo.getSubtypeName();
// TD-SCDMA networkType is 17
int networkType = networkInfo.getSubtype();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
strNetworkType = "2G";
break;
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
strNetworkType = "3G";
break;
case TelephonyManager.NETWORK_TYPE_LTE:
strNetworkType = "4G";
break;
default:
// http://baike.baidu.com/item/TD-SCDMA 中国移动 联通 电信 三种3G制式
if (_strSubTypeName.equalsIgnoreCase("TD-SCDMA") || _strSubTypeName.equalsIgnoreCase("WCDMA") || _strSubTypeName.equalsIgnoreCase("CDMA2000")){
strNetworkType = "3G";
}
else {
strNetworkType = _strSubTypeName;
}
break;
}
}
}
return strNetworkType;
}