/**
* to judge if the net is available
* 用户手机当前网络可用:WIFI、2G/3G/4G网络;
* 用户打开与不打开网络,和是否可以用是两回事,打开了未必就可以上网
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null && info.isConnected()){
if (info.getState() == NetworkInfo.State.CONNECTED){
// 当前所连接的网络可用
return true;
}
}
/*
//在genymotion模拟器上做测试的时候,假如使用下面的方法,则会认为不可访问网络
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
return false;
*/
}
return false;
}