安卓獲取和判斷網絡狀態

1,判斷是否有網絡連接

public boolean isNetworkConnected(Context context) {    
    if (context != null) {    
        ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
                .getSystemService(Context.CONNECTIVITY_SERVICE);    
        NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();    
        if (mNetworkInfo != null) {    
            return mNetworkInfo.isAvailable();    
        }    
    }    
    return false;    
}


2.判斷WIFI網絡是否可用

public boolean isWifiConnected(Context context) {    
    if (context != null) {    
        ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
                .getSystemService(Context.CONNECTIVITY_SERVICE);    
        NetworkInfo mWiFiNetworkInfo = mConnectivityManager    
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);    
        if (mWiFiNetworkInfo != null) {    
            return mWiFiNetworkInfo.isAvailable();    
        }    
    }    
    return false;    
}  


3.判斷MOBILE網絡是否可用

public boolean isMobileConnected(Context context) {    
    if (context != null) {    
        ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
                .getSystemService(Context.CONNECTIVITY_SERVICE);    
        NetworkInfo mMobileNetworkInfo = mConnectivityManager    
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);    
        if (mMobileNetworkInfo != null) {    
            return mMobileNetworkInfo.isAvailable();    
        }    
    }    
    return false;    
}  


4.判斷網絡類型


//返回值 -1:沒有網絡  1:WIFI網絡2:wap網絡3:net網絡  
public static int GetNetype(Context context)  
{   
    int netType = -1;    
    ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   
    NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();   
    if(networkInfo==null)  
    {   
        return netType;   
    }   
    int nType = networkInfo.getType();   
    if(nType==ConnectivityManager.TYPE_MOBILE)  
    {   
        if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet"))  
        {   
            netType = 3;   
        }   
        else  
        {   
            netType = 2;   
        }   
    }   
    else if(nType==ConnectivityManager.TYPE_WIFI)  
    {   
        netType = 1;   
    }   
    return netType;   
}  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章