511_ 获取网络状态2g3g4g
来源:互联网 发布:编程用什么软件比较好 编辑:程序博客网 时间:2024/06/17 12:17
获取网络状态2g3g4g
//获取网络类型
public static int getNetworkState(Context context) {
//获取系统的网络服务
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//如果当前没有网络
if (null == connManager)
return NETWORN_NONE;
//获取当前网络类型,如果为空,返回无网络
NetworkInfo activeNetInfo = connManager.getActiveNetworkInfo();
if (activeNetInfo == null || !activeNetInfo.isAvailable()) {
return NETWORN_NONE;
}
//判断是不是连接的是不是wifi
NetworkInfo wifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (null != wifiInfo) {
NetworkInfo.State state = wifiInfo.getState();
if (null != state)
if (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING) {
return NETWORN_WIFI;
}
}
//如果不是wifi,则判断当前连接的是运营商的哪种网络2g、3g、4g等
NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (null != networkInfo) {
NetworkInfo.State state = networkInfo.getState();
String strSubTypeName = networkInfo.getSubtypeName();
if (null != state)
if (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING) {
switch (activeNetInfo.getSubtype()) {
//如果是2g类型
case TelephonyManager.NETWORK_TYPE_GPRS: // 联通2g
case TelephonyManager.NETWORK_TYPE_CDMA: // 电信2g
case TelephonyManager.NETWORK_TYPE_EDGE: // 移动2g
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return NETWORN_2G;
//如果是3g类型
case TelephonyManager.NETWORK_TYPE_EVDO_A: // 电信3g
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
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:
return NETWORN_3G;
//如果是4g类型
case TelephonyManager.NETWORK_TYPE_LTE:
return NETWORN_4G;
default:
//中国移动 联通 电信 三种3G制式
if (strSubTypeName.equalsIgnoreCase("TD-SCDMA") || strSubTypeName.equalsIgnoreCase("WCDMA") || strSubTypeName.equalsIgnoreCase("CDMA2000")) {
return NETWORN_3G;
} else {
return NETWORN_MOBILE;
}
}
}
}
return NETWORN_NONE;
}
0 0
- 511_ 获取网络状态2g3g4g
- 网络判断2g3g4g
- iOS 检查网络状态 2G3G4G 私有方法
- 获取网络状态
- 获取网络状态
- 获取网络状态
- 获取网络状态
- Android获取网络状态
- Android获取网络状态
- LINUX获取网络状态
- Runtime获取网络状态
- android 获取网络状态
- Android 获取网络状态
- 获取手机网络状态
- 获取当前网络状态
- 获取网络状态
- runtime 获取网络状态
- 获取网络状态
- oc总结 --oc基础语法相关知识
- 510_根据文字行数更改文字大小
- Docker官方教程
- 九度OJ 1151 位操作练习
- 计蒜客蓝桥杯模拟赛5 成绩查询系统
- 511_ 获取网络状态2g3g4g
- JDK中Stack的bug
- MD5和RSA
- 512_盟德插件googleplayservice
- Java学习----day7——(4)Java异常处理机制之入门篇
- 【BATCH程序】显示隐藏的文件
- windows10 在文件夹里面邮件一下打开当前路径的命令行
- nefu 18 滑雪
- PE 318【二项式定理】