Android判断网络的类型-wifi/3G - Inzaghi-iOS开发博客,互联网资讯,米兰新闻

Android判断网络的类型-wifi/3G

 

判断网络类型是wifi,还是3G,还是2G网络
对不同的网络进行不同的处理,现将判断方法整理给大家,以供参考
说明:下面用到的数据移动2G,联通2G,联通3G,wifi我都已经测试过,暂时手上没有电信的卡,所以没有验证,有电信手机的同事,可以验证一下,验证后将结果发送给大家。
 ConnectivityManager connectMgr = (ConnectivityManager) this
        .getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo info = connectMgr.getActiveNetworkInfo();
一、判断网络是否是wifi。
在判断之前一定要进行的非空判断,如果没有任何网络连接info ==null
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或EGDE,电信的2G为CDMA,电信的3G为EVDO

 

转自:http://blog.csdn.net/xxxsz/article/details/8199031

 

标签:
,
分类:Android开发 | 发布:inzaghi | 评论:0 条 | 发表时间:2015-06-3 10:57
引用:点击这里获取该日志的TrackBack引用地址
上一篇:
下一篇:

发表评论

*

* 绝不会泄露


Design By Inzaghi | 京ICP备16047555号-1