效果图:
工具类
/** * 获取网络连接信息* * 根据NetworkInfo可以知道有很多的连接方式和信息* * ① 当没有任何可用网络的时候,networkinfo为null 判断networkinfo是否为null* * ② 当只有wifi网络或者wifi网络和移动网络同时存在的时候,返回wifi网络连接信息* * NetworkInfo参数如下:* * detailedState:CONNECTED(连接状态)* * extraInfo:yiteng1(wifi网络名称)* * isAvaiable:true(是否可用)* * networkType:1* * state:CONNECTED* * subtype:0* * typeName:WIFI(网络类型名称)* * ③ 当只有移动网络的时候,返回移动网络连接信息* * NetworkInfo参数如下:* * detailedState:CONNECTED(连接状态)* * extraInfo:cmnet(移动网络名称)* * isAvaiable:true* * networkType:0* * state:CONNECTED* * subtype:2* * typeName:mobile(网络类型名称)* * @param context* @return*/public static NetworkInfo getActiveNetwork(Context context) {if (context == null) {return null;}ConnectivityManager mConnMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (mConnMgr == null) {return null;}// 获取活动网络连接信息 NetworkInfo aActiveInfo = mConnMgr.getActiveNetworkInfo();return aActiveInfo;}
使用方法:在需要监听网络的页面
NetworkInfo networkInfo = GetSystemInfo.getActiveNetwork(this);if (networkInfo == null) {ToastUtils.showCustomToastLong("无可用网络连接,请检查网络设置");} else {if (networkInfo.isAvailable() == false) {ToastUtils.showCustomToastLong("无可用网络连接,请检查网络设置");} else {String networkType = networkInfo.getTypeName();if (AppConstants.NETWORK_WIFI.equalsIgnoreCase(networkType)) {ToastUtils.showCustomToastLong("已连接到wifi网络"+ networkInfo.getExtraInfo());} else if (AppConstants.NETWORK_MOBILE.equalsIgnoreCase(networkType)) {ToastUtils.showCustomToastLong("您当前使用的是移动网络");}}}