2011-12-14 2 views
1

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

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

     } 

Я не нашел никакой информации в любом месте о том, как это сделать? Где я иду не так?

ответ

0

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

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

Смежные вопросы