【Android】網絡檢測

    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;
        }

    }
相關文章
相關標籤/搜索