public static boolean checkNetWork(Context context) { ConnectivityManager conn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = conn.getActiveNetworkInfo(); if (info == null || !conn.getBackgroundDataSetting()) { return false; } // 判斷網絡鏈接類型,只有在2G/3G/wifi裏進行一些數據更新。 int netType = info.getType(); int netSubtype = info.getSubtype(); if (netType == ConnectivityManager.TYPE_WIFI) { return info.isConnected(); } else if (netSubtype == TelephonyManager.NETWORK_TYPE_GPRS || netSubtype == TelephonyManager.NETWORK_TYPE_CDMA || netSubtype == TelephonyManager.NETWORK_TYPE_EDGE) { return false; } else { return true; } }