Как подключиться к доступной сети SSID Wifi в Android? - PullRequest
1 голос
/ 14 декабря 2011

Как мне подключиться к определенной сети Wi-Fi, используя SSID? Я попытался с помощью кода ниже.

wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

        WifiConfiguration config = new WifiConfiguration();

        if(wifi.startScan()){
            List<ScanResult> results = wifi.getScanResults();
            for(int i=0;i<results.size();i++)
            {   Log.e("VALUE"," "+results.get(i).toString());
                Log.e("",""+results.get(i).SSID);
                if(results.get(i).SSID.equalsIgnoreCase("\"MAC\""))
                {
                    Log.e("","mac.....");

            try{ 
                String ssid="\""+results.get(i).SSID+"\mac"";
                Log.e("SSId"," "+ssid);
                config.SSID=ssid;
            }catch(Exception e){Log.e("","Error : "+e.toString());}

            config.preSharedKey="0a0b0f62170ecc5bcf721b6ff170b8b560101b5d56b00a26abec217e0bb4aa1f";
            config.status=WifiConfiguration.Status.ENABLED;

            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 
            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
            config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

            config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
            config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
            config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

            int res=wifi.addNetwork(config);
                    Log.e("ENABLE ",""+wifi.enableNetwork(res, false));

                    break;
                }
            }

        }

Я нигде не нашел информации о том, как это сделать? Куда я иду не так?

1 Ответ

0 голосов
/ 27 сентября 2012

Ваша проблема может быть связана с проблемой, с которой я столкнулся.Если вы берете значение SSID непосредственно из результата сканирования, оно не в двойных кавычках, но по какой-то причине WifiConfiguration требует, чтобы SSID был в двойных кавычках.Пожалуйста, смотрите мой ответ.

https://stackoverflow.com/a/12616521/178931

...