网络连接的判断及网络类型的判断
来源:互联网 发布:mac系统使用视频教程 编辑:程序博客网 时间:2024/06/09 15:48
网络连接的判断及网络类型的判断
此代码实现网络连接判断及类型的判断
需要添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
允许程序访问有关GSM网络信息(Allows applications to access information about networks)
检测手机是否处于联网状态
//这是一个方法
public void checkMobileNet() {
// 1.得到系统服务ConnectivityManager ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 2.得到网络信息类对象 NetworkInfo networkInfo = manager.getActiveNetworkInfo(); // 3.进行判断 if (networkInfo != null && networkInfo.isConnected()) { Toast.makeText(this, "已连接互联网!", 0).show(); // 检测手机的网络类型 int type = networkInfo.getType();// 得到网络类型 switch (type) { case ConnectivityManager.TYPE_WIFI:// wifi网络 Toast.makeText(this, "wifi!", 0).show(); break; case ConnectivityManager.TYPE_MOBILE:// 移动数据 Toast.makeText(this, "移动数据!", 0).show(); // 2g 3g 4g getDetailMobileNetType(networkInfo); break; } } else { Toast.makeText(this, "未连接互联网!", 0).show(); AlertDialog.Builder buider=new Builder(this); buider.setTitle("网络连接设置"); buider.setMessage("未连接网络,是否要进行设置?"); buider.setPositiveButton("设置", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { //跳转到系统设置网络的界面
Intent intent=new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
startActivity(intent);
}
}); buider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) {} }); buider.create().show(); }
}
**得到详细的网络类型 wap 2G/3G/4G网络**public void getDetailMobileNetType(NetworkInfo netInfo) { String strNetworkType = ""; // 得到整数类型 int subtype = netInfo.getSubtype(); // 得到名子 String _strSubTypeName = netInfo.getSubtypeName(); switch (subtype) { case TelephonyManager.NETWORK_TYPE_GPRS:// 联通2G case TelephonyManager.NETWORK_TYPE_EDGE:// 移动2G case TelephonyManager.NETWORK_TYPE_CDMA:// 电信2G 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: // api<11 : replace by 13 strNetworkType = "4G"; break; default: // http://baike.baidu.com/item/TD-SCDMA 中国移动 联通 电信 三种3G制式 if (_strSubTypeName.equalsIgnoreCase("TD-SCDMA") || _strSubTypeName.equalsIgnoreCase("WCDMA") || _strSubTypeName.equalsIgnoreCase("CDMA2000")) { strNetworkType = "3G"; } else { strNetworkType = _strSubTypeName; } break; } Log.d("zzz", "网络类型是:" + strNetworkType);}
阅读全文
0 0
- 网络连接的判断及网络类型的判断
- 网络连接的判断及网络类型的判断
- 判断网络的连接
- 网络连接的判断
- 网络连接类型判断
- 网络连接类型判断
- android判断网络的类型
- Android网络连接的判断
- android网络连接的判断
- android网络连接的判断
- Android的网络连接判断
- android 网络连接的判断
- Android网络连接的判断
- android 网络连接的判断
- android 网络连接的判断
- android 网络连接的判断
- Android 网络连接的判断
- android 网络连接的判断
- 支持向量机之SMO算法
- 智能DNS
- 初始是否显示echarts图形的某个指标属性
- 手机h5页面唤起打电话、发短信功能
- 第四周 项目五(1) 猴子选大王
- 网络连接的判断及网络类型的判断
- cmd命令对文件目录访问的操作
- JavaScript&&PHP常用函数对比
- 从Paxos到ZooKeeper-分布式架构
- 贪心:普里姆算法(最小生成树)
- Java IO
- Regularization(正则化)与Dropout
- JDBC应用实例
- 自学git 常用git(一)