安卓 -- 判断网络是否可用
/** * 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; }