ConnectivityManager cManager = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cManager.getActiveNetworkInfo();
if(null == networkInfo) {
netTypeText.setText("无网络");
} else {
switch (networkInfo.getType()) {
case ConnectivityManager.TYPE_WIFI: //wifi
netTypeText.setText("WIFI网络");
break;
case ConnectivityManager.TYPE_MOBILE://手机网络
// * 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
switch (networkInfo.getSubtype()) {
case TelephonyManager.NETWORK_TYPE_CDMA:
netTypeText.setText("电信2G网络");
break;
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_HSDPA:
netTypeText.setText("联通3G网络");
break;
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
netTypeText.setText("移动或联通2G网络");
break;
default:
netTypeText.setText("其他网络");
break;
}
break;
default:
break;
}
}

一个获取网络类型的demo,netTypeText为TextView

记得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

判断手机使用网络wifi 2G 3G的更多相关文章

  1. js判断手机连接网络类型

    <!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml" lang="en"> ...

  2. iOS开发-Reachability实时检测Wifi,2G/3G/4G/网络状态

    最近遇到一个功能就是根据用户当前的网络状,用户未联网需要提示一下,如果是Wifi可以推荐一些图片新闻,如果是3G模式设置为无图的模式,获取网络状态比较简单,毕竟中国现在的流量还是一个比较贵的状态,哪天 ...

  3. Android通过tcpdump抓包(wifi, 2g, 3g都可以)

    http://blog.csdn.net/deng529828/article/details/20646197 1. 手机要有root权限 2. 下载tcpdump   http://www.str ...

  4. Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  5. 转:Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  6. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  7. (转)Android 判断用户2G/3G/4G移动数据网络

    在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需(要根据用户当前网络情况来做一些调整的,也可以在 App 的设置模块里,让用户自己选择,在 2G ...

  8. iOS 中如何判断当前是2G/3G/4G/5G/WiFi

    5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了. 关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如果判断的API.而在撸WebRTC音视频通 ...

  9. 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

随机推荐

  1. Go开发Struct转换成map两种方式比较

    最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接对struct结构进行操作的方法,有部分API是通过map进行数据库相关操作,那么就需要 ...

  2. C高级第一次作业附加

    之前的作业链接:http://www.cnblogs.com/1204113692yang/p/8625650.html 过去两周学习了指针的概念.指针变量的定义.指针的基本运算.指针操作改变主调函数 ...

  3. matlab算法转为c语言注意事项

    matlab算法转为c语言后,影响c语言效率的关键在于multiword的产生,基于此会有multiword加减法和乘除法,极大消耗资源,减少甚至消除multiword很重要,需注意的是:算法中尽量减 ...

  4. 重写struts过滤器

      <filter>     <filter-name>ExtendStrutsFilter</filter-name>     <filter-class& ...

  5. spark-shell与scala生成parquet文件

    spark-shell用户 spark-shell只能spark用户来进行初始化,如果用hdfs或者root将会卡在spark-shell的初始化那个地方.可以用这两个用户来验证spark安装时成功地 ...

  6. org.springframework.beans.factory.config.MethodInvokingFactoryBean的使用

    它有两种用法:一个是调用类的静态方法,一个是调用已在IOC容器中的bean的方法.调用结果也分两种,一种是有返回,那么也会作为bean注册到IOC容器中,另一种是没有返回值,那么实际上就是为了在启动时 ...

  7. EditText动态转换只读/编辑状态

    public class MyActivity extends Activity { private KeyListener listener; private EditText editText; ...

  8. 深入浅出MFC学习笔记 消息

    本章将会对MFC的消息映射和 命令传递机制做深入探讨. MFC规定了消息传递的路线,消息会按照这个路线传递下去,找不到归宿的话就交给DefWindowProc. 在产生窗口之前,如果我们在创建窗口时指 ...

  9. 执行 rails server 报错 Could not find a JavaScript runtime

    修改第15行 # gem 'therubyracer', platforms: :ruby 去掉注释 执行 bundle install

  10. 分布式缓存系统 Memcached 数据存储slab与hashtable

    缓存数据以item为基本单元,以双链表形式存放在对应级别大小的slabclass结构的chunk中.同时该item还存放在链式hashtable中bucket中,用于提供快速查找的索引. 首先是理解缓 ...