判断网络状态
来源:互联网 发布:stereonet软件 编辑:程序博客网 时间:2024/06/04 18:52
判断网络状态
public class NetWorkUtils { public static final int G3 = 3;// 3G public static final int G2 = 2;// 2G public static final int G4 = 4;// 4G public static final int WIFI = 5;// WIFI public static final int NO = 0;// 表示没有网络连接 public static int GetNetworkType(Context context) { int strNetworkType = NO; NetworkInfo networkInfo = ((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { strNetworkType = WIFI; } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { String _strSubTypeName = networkInfo.getSubtypeName(); // TD-SCDMA networkType is 17 int networkType = networkInfo.getSubtype(); switch (networkType) { 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 = G2; 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 = G3; break; case TelephonyManager.NETWORK_TYPE_LTE: // api<11 : replace by // 13 strNetworkType = G4; break; default: // http://baike.baidu.com/item/TD-SCDMA 中国移动 联通 电信 三种3G制式 if (_strSubTypeName.equalsIgnoreCase("TD-SCDMA") || _strSubTypeName.equalsIgnoreCase("WCDMA") || _strSubTypeName.equalsIgnoreCase("CDMA2000")) { strNetworkType = G3; } else { strNetworkType = NO; } break; } } } return strNetworkType; }}
得到网络状态
// 获得网络状态的值 int type = NetWorkUtils.GetNetworkType(this); if (type == NetWorkUtils.WIFI) { Toast.makeText(this, "您当前使用的是WIFI数据连接.....", Toast.LENGTH_SHORT).show(); } if (type == NetWorkUtils.G2 || type == NetWorkUtils.G3 || type == NetWorkUtils.G4) { Toast.makeText(this, "您当前使用的是移动数据连接.....", Toast.LENGTH_SHORT).show(); } if (type == NetWorkUtils.NO) { Toast.makeText(this, "网络未连接,请检查网络状态......", Toast.LENGTH_SHORT).show(); } }
自定义View测量高度(其他)
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int height=MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, height); }
0 0
- 判断iphone网络状态
- 判断网络连接状态
- 判断网络在线状态
- android 判断网络状态
- Android判断网络状态
- Android 判断网络状态
- android 网络状态判断
- 判断网络连接状态
- 判断网络状态
- IOS~网络状态判断
- Android: 判断网络状态
- android 网络状态判断
- android 判断网络状态
- android判断网络状态
- android判断网络状态
- 判断网络状态
- android 判断网络状态
- 判断网络状态
- pixhawk 光流--位置估计--姿态估计--位置控制--姿态控制
- Android之OnClick事件监听
- 【Leetcode】Count Primes
- oracle查看和修改最大连接数
- attribute 的名字重复的问题
- 判断网络状态
- 深度学习系列文章之一:电脑配置选择
- 文档化说明的重要性
- laravel学习随记1
- 图的广度优先搜索(采用邻接表存储方式)
- CityMaker学习教程10 示例代码的使用Javascript
- Struts2找不到action报404错总结,3个解决方法
- 二、C++ 访问类的成员函数和成员变量的三种方法
- Java类与对象的理解