2014-04-01 7 views
8

Ciao sto cercando di connettere la mia app a un punto di accesso specifico utilizzando l'API wifimanager. così com'è Ho un elenco di tutti i punti di accesso nella mia zona, da questo elenco li sto archiviando in un array e scegliendo a quale connettersi. ma a questo punto la dose non è collegata. qualcuno può aiutarmi.connettersi a un punto di accesso specifico android

(si tratta di una rete aperta che sto cercando di connettersi.) Ecco il mio codice:

public void WifiConfiguration(){ 
    try { 
     ScanResult networkData = getIntent().getParcelableExtra("networkData"); 

     WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
     String networkPassWord = ""; 

     WifiConfiguration conf = new WifiConfiguration(); 
     conf.SSID = "\"" + networkData.SSID + "\""; 
     conf.BSSID = "\"" + networkData.BSSID + "\""; 
     conf.hiddenSSID = true; 
     conf.wepKeys[0] = "\"" + networkPassWord + "\""; 
     conf.wepTxKeyIndex = 0; 
     conf.status = WifiConfiguration.Status.ENABLED;   
     conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
     conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
     conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
     conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
     conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
     conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 

     conf.preSharedKey = "\""+ networkPassWord +"\""; 

     //conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 

     Log.d(TAG, "Initialising WIFI Manager"); 

     int id = wifiManager.addNetwork(conf); 
     Log.d(TAG, "conf.SSID: "+conf.SSID); 
     Log.d(TAG, "id: "+id); 
     wifiManager.disconnect(); 
     wifiManager.enableNetwork(id, true); 
     wifiManager.reconnect();  

     Log.d(TAG, "Should be connected...."); 

    } catch (Exception e) { 

     Log.d(TAG, e.toString()); 
    } 

} 
+0

Quando si verifica lo stato della connessione? – atok

+0

Sto guardando il numero di utenti sulla rete e non ce n'è, quindi l'app non sta effettuando una connessione – user3292394

+0

Ho ricevuto la risposta da solo. Grazie per l'aiuto. – user3292394

risposta

0
conf.SSID = "\"" + networkData.SSID + "\""; 
    conf.BSSID = "\"" + networkData.BSSID + "\""; 

Il BSSID non ha bisogno di essere racchiusi tra virgolette, solo il SSID.