獲取網絡狀態ConnectivityManager


//獲取ConnectivityManager對象。
ConnectivityManager mana = getSystemService(Context.CONNECTIVITY_SERVICE);
//NetworkInfo對象用來描述網絡信息。
//得到當前使用的網絡
NetworkInfo activeNetworkInfo=mana.getActiveNetworkInfo();

//得到所有網絡
NetworkInfo[] infos = mana.getAllNetworkInfo();

//獲取首選網絡
int networkType = mana.getNetworkPreference();
-----代碼實現-------
manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo();
if(activeNetworkInfo==null||!activeNetworkInfo.isAvailable()){
    Toast.makeText(getApplicationContext(), "網絡連接不可用", Toast.LENGTH_SHORT).show();
}else{//可能聯網
    int networkType = activeNetworkInfo.getType();
    if(networkType == ConnectivityManager.TYPE_WIFI){
        Toast.makeText(getApplicationContext(), "當前成功連接WIFI"
              +activeNetworkInfo.isConnected(), Toast.LENGTH_SHORT).show();
    }else if(networkType==ConnectivityManager.TYPE_MOBILE){
        if(activeNetworkInfo.isRoaming()){
            Toast.makeText(getApplicationContext(), "當前成功連接漫游3G網絡"
                      +activeNetworkInfo.isConnected(), Toast.LENGTH_SHORT).show();
        }else{
            Toast.makeText(getApplicationContext(), "當前成功連接非漫游3G網絡"
                      +activeNetworkInfo.isConnected(), Toast.LENGTH_SHORT).show();
        }
    }
}

添加權限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM