Android网络类型判断(2g、3g、wifi)(待续)
来源:互联网 发布:双系统公用数据库 编辑:程序博客网 时间:2024/06/07 15:17
Android网络类型判断(2g、3g、wifi)(待续)
转自:http://blog.csdn.net/xxxsz/article/details/8199031
判断网络类型是wifi,还是3G,还是2G网络,对不同
的网络进行不同的处理,现将判断方法整理给大家,以供参考
说明:下面用到的数据移动2G,联通2G,联通3G,wifi我都已经测试过,暂时手上
没有电信的卡,所以没有验证,有电信手机的同事,可以验证一下,验证后将结果
发送给大家。
ConnectivityManager connectMgr = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectMgr.getActiveNetworkInfo();
一、判断网络是否是wifi,在判断之前一定要进行的非空判断,如果没有任何网络连接
if(info == null)
{
Log.e("网络测试", "无网络");
}
{
Log.e("网络测试", "无网络");
}
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
需要在AndroidMainFest中添加需要的Android权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
判断手机网络类型使用到的代码:
ConnectivityManager connectMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectMgr.getActiveNetworkInfo();
if(info == null)
{
Log.e("网络测试", "无网络");
}
else
{
int netType = info.getType();
int netSubtype = info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI)
{
Log.e("网络测试", "当前网络为Wifi");
}
if(netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
|| netSubtype == TelephonyManager.NETWORK_TYPE_HSDPA
|| netSubtype == TelephonyManager.NETWORK_TYPE_EVDO_0)
{
Log.e("网络测试", "当前网络为3G");
}
if(netSubtype == TelephonyManager.NETWORK_TYPE_GPRS
|| netSubtype == TelephonyManager.NETWORK_TYPE_EDGE
|| netSubtype == TelephonyManager.NETWORK_TYPE_CDMA)
{
Log.e("网络测试", "当前网络为2G");
}
}
}
2G和Wifi测试了正常,3G一直测试不到,还需要完善
0 0
- Android网络类型判断(2g、3g、wifi)(待续)
- Android网络类型判断(2g、3g、wifi)
- Android网络类型判断(2g、3g、wifi) .
- Android网络类型判断(2g、3g、wifi)
- Android网络类型判断(2g、3g、wifi)
- Android网络类型判断(2g、3g、wifi)
- Android网络类型判断(2g、3g、wifi)
- 判断当前网络类型(WIFI,2G,3G)
- android如何判断当前网络类型(联网,2g,3g,wifi等)
- android如何判断当前网络类型(联网,2g,3g,wifi等)
- Android判断当前网络类型2G/3G/4G/WIFI
- Android 判断网络类型 wifi,2G,3G,4G
- iOS平台判断2G,3G,wifi网络类型
- Android 判断网络是否可用、网络类型WIFI/2G/3G/4G及获取IP
- Android 判断网络是否可用、网络类型WIFI/2G/3G/4G及获取IP
- android网络状态判断(wifi、3G、2G)
- android网络状态判断(wifi、3G、2G)
- 获取Android当前网络类型(2g、3g、4g、wifi)以及手机型号、版本号
- 从string对象获取字符
- asp.net---代码读取处理数据与JQuery控制
- ubuntu错误解决E: Sub-process /usr/bin/dpkg returned an error code (1)
- Spring MVC 教程,快速入门,深入分析
- jmockit 打桩方法
- Android网络类型判断(2g、3g、wifi)(待续)
- ECshop 数据库表结构 -- 表的结构
- #include 的作用
- 菜鸟解决易语言难题
- 获取IE缓冲区中的验证图片
- 【HDU】4670 Cube number on a tree 点分治
- 第10周项目6 贪财的富翁
- Why we should use ENUM instead of String ?
- Fragment跳转到Activity