download: 微业余 -Java 高级架构师【2021 福利期】
package com.chengxinet.bobo.utils;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
/**
- Created by Administrator on 2016/1/7.
*/
public class NetworkUtils {
public static boolean isNetworkAvailable(Context c) {Context context = c.getApplicationContext();
// 获取手机所有连贯治理对象(包含对 wi-fi,net 等连贯的治理)ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null) {return false;} else {
// 获取 NetworkInfo 对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0) {for (NetworkInfo aNetworkInfo : networkInfo) {
// System.out.println(i + “=== 状态 ===” + networkInfo[i].getState());
// System.out.println(i + “=== 类型 ===” + networkInfo[i].getTypeName());
// 判断以后网络状态是否为连贯状态
if (aNetworkInfo.getState() == NetworkInfo.State.CONNECTED) {return true;}
}
}
}
return false;
}
/**
* 判断 WIFI 是否关上
* @param context
* @return
*/
public static boolean isWifiEnabled(Context context) {ConnectivityManager mgrConn = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager mgrTel = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
}
/**
* 判断是否是 3G 网络
* @param context
* @return
*/
public static boolean is3rd(Context context) {ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null
&& networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {return true;}
return false;
}
/**
* 判断是 wifi 还是 3g 网络
* @param context
* @return
*/
public static boolean isWifi(Context context) {ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null
&& networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {return true;}
return false;
}
}