Android开发中获取当前网络类型的方法
来源:互联网 发布:有声单词软件下载 编辑:程序博客网 时间:2024/05/21 02:36
移动端的网络类型主要分为2G、3G、4G、wifi
判断方法如下:
public String getNetworkType(Context context) {
String strNetworkType = “UnKnown”;
final NetworkInfo activeNetworkInfo = ((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.getType() == 1) {
strNetworkType = “WIFI”;
}else if (activeNetworkInfo != null && activeNetworkInfo.getType() == 0) {
String subtypeName = activeNetworkInfo.getSubtypeName();
switch (((TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType()) {
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: //api<8 : replace by 11
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: //api<9 : replace by 14
case TelephonyManager.NETWORK_TYPE_EHRPD: //api<11 : replace by 12
case TelephonyManager.NETWORK_TYPE_HSPAP: //api<13 : replace by 15
strNetworkType = “3G”;
break;
case TelephonyManager.NETWORK_TYPE_LTE:
strNetworkType = “4G”;
break;
default:
if (subtypeName.equalsIgnoreCase(“TD-SCDMA”) || subtypeName.equalsIgnoreCase(“WCDMA”) || subtypeName.equalsIgnoreCase(“CDMA2000”)) {
strNetworkType = “3G”;
break;
}
strNetworkType = subtypeName;
break;
}
}
return strNetworkType;
}
TelephonyManager api文档:http://www.android-doc.com/reference/android/telephony/TelephonyManager.html#NETWORK_TYPE_EDGE
- Android开发中获取当前网络类型的方法
- Android程序:获取当前手机的网络类型
- android 获取网络类型的方法
- 获取当前网络类型
- 获取系统当前网络的类型
- 获取android手机当前网络链接IP的方法
- Android中网络获取数据的方法
- android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型
- Android开发之 当前日期String类型转date类型 java代码中实现方法
- Android判断当前网络的类型
- android 网络 类型 的 获取
- Android开发中关于获取当前Activity的一些思考
- java/android中获取当前日期的方法
- Android 获取当前系统的语言环境及网络连接类型(有源码)
- Android 获取当前系统的语言环境及网络连接类型
- android 判断当前环境网络是否可用及获取当前网络类型
- iOS开发中获取当前网络的ip及连接wifi时wifi的名字
- Android判断当前网络类型
- 过滤器
- org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: too_many_clauses: maxClauseCount
- 山东 acm D HEX 数学 求组合数
- git如何撤销所有本地修改
- 再谈布局之 UIStackView
- Android开发中获取当前网络类型的方法
- Android 性能优化——避免过度绘制
- Android6.0运行时权限管理
- React Native环境配置之Windows版本搭建
- [leetcode:python]69.Sqrt(x)
- google 浏览器使用的一些小技巧
- 多线程下载
- 2017年5月校赛赛前练习 最大连续区间和
- C++ string(初始化和部分函数的使用)