Android判斷網絡連接

1.判斷當前手機是否已經聯網
(1) 添加權限

(2)具體實現

public boolean isNetworkConnected(Context context)
    {
        //API21前後判斷的方法有點區別
        ConnectivityManager cn=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if(Build.VERSION.SDK_INT<Build.VERSION_CODES.LOLLIPOP)
        {
            NetworkInfo[] networks=cn.getAllNetworkInfo();

            for(int i=0;i<networks.length;i++)
            {
                if(networks[i].getState()== NetworkInfo.State.CONNECTED)
                {
                     return true;
                }
            }
            return false;
        }else{
            Network[] networks=cn.getAllNetworks();
            for(int i=0;i<networks.length;i++)
            {
                if(cn.getNetworkInfo(networks[i]).getState()==NetworkInfo.State.CONNECTED)
                {
                   return true;

                }
            }
            return false;
        }

    }

2.判斷當前是否連接的是wifi,如果是,打印出wifi對應的信息。
(1) 添加權限

(2) 具體實現

ConnectivityManager cn=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info=cn.getActiveNetworkInfo();
        if(info!=null)
        {
            if(info.getType()==1)
            {
                WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE);
                WifiInfo wf=wm.getConnectionInfo();
                Log.e("MainActivity","wifi的名稱爲:"+wf.getSSID());
                Log.e("MainActivity","得到的名字爲:"+wf.getBSSID());
                Log.e("MainActitiy","Mac地址:"+wf.getMacAddress());
                Log.e("MainActivity","連接速度:"+wf.getLinkSpeed());
                Log.e("MainActivity","NetWorkId:"+wf.getNetworkId());
                Log.e("MainActivity","Ip:"+wf.getIpAddress());
                Log.e("MainActivity","HiddenSSID:"+wf.getHiddenSSID());
                Log.e("MainActivity","Rssi:"+wf.getRssi());
            }

        }else{
              Log.e("MainActivity","當前沒有網絡連接");
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章