在android开发中,判断当前网络时,用到了ConnectivityManager,它是网络连接管理器.负责回应网络的连接状态.进行网络判断时,主要有以下5个部分:
1.判断网络是否是可用的
2.判断网络是否已经连接
3.得到网络类型
4.判断是否是WiFi网络
5.判断看是否是Mobile类型网络
实例如下:
/**
* Created by jyq on 2015/11/19.
*/
public class ConnectUtils {
/*
* 判断网络是否可用
* */
public static boolean isNetworkAvilable(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo!=null){
boolean b = networkInfo.isAvailable();
return b;
}
return false;
}
/*
* 判断网络是否连接
* */
public static boolean isConnected(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo!=null){
boolean connected = networkInfo.isConnected();
return connected;
}
return false;
}
/*
* 获取网络类型
* */
public static String getNetworkType(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo!=null){
String typeName = networkInfo.getTypeName();
return typeName;
}
return null;
}
/*
* 判断是否是WIFI网络
* */
public static boolean isWifiNetwork(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo!=null&&networkInfo.isConnected()) {
return true;
}
return false;
}
/*
* 判断是否是Mobile类型
* */
public static boolean isMonbileNetwork(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (networkInfo!=null&&networkInfo.isConnected()) {
return true;
}
return false;
}
}