Android mit wifimanager Verbindung zu WPA-PSK gesichertes Netzwerk

so, ich war in der Lage, wahre alle threads hier und wo sonst, wenn google mich nehmen würde. Aber ich habe Probleme bei der Verbindung zu WPA-PSK-Netzwerken.
Hier ist mein code, ich habe 2 edittext Felder aus, die lese ich SSID und PSK und dann eine checkbox auswählen, wenn die SSID versteckt ist oder nicht.

    EditText mSSID = (EditText) findViewById(R.id.wifiTVssidcurrent);
    String networkSSID = mSSID.getText().toString();
    EditText mWPA = (EditText) findViewById(R.id.wifiTVwpacurrent);
    String networkWPA = mWPA.getText().toString();

    //Update text to show that connection is pending
    TextView wifiStatus = (TextView) findViewById(R.id.wifiTVconnectionstatus);
    wifiStatus.setText("Connecting to " + networkSSID);

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    WifiConfiguration wc = new WifiConfiguration(); 
    wc.SSID = "\"".concat(networkSSID).concat("\""); 
    wc.preSharedKey  = "\"".concat(networkWPA).concat("\"");

    CheckBox mSSIDHidden = (CheckBox) findViewById(R.id.wifiCBhiddenssid);
    wc.hiddenSSID = false;
    if (mSSIDHidden.isChecked()) {
        wc.hiddenSSID = true;
    }
    wc.status = WifiConfiguration.Status.ENABLED;         
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
    int res = wifi.addNetwork(wc); 
    Log.d("WifiPreference", "add Network returned " + res ); 
    boolean b = wifi.enableNetwork(res, true);         
    Log.d("WifiPreference", "enableNetwork returned " + b );
    boolean c = wifi.reconnect();
    Log.d("WifiPreference", "reconnect returned " + c );

Was sehe ich im Telefon nach der Ausführung dieser ist, dass ein AP ist angelegt in den Einstellungen, aber es ist keine Verbindung. Und wenn ich versuche, das erstellte AP manuell in den Einstellungen danach bin ich nicht in der Lage, eine Verbindung.
Aber wenn ich die AP aus in Einstellungen bekomme ich Verbindung, als ich sollte.

Für die Umsetzung SSID und WPA-PSK in ich habe versucht, sowohl "\"".concat(networkSSID).concat("\""); und "\""+ networkSSID +"\""; mit dem gleichen Ergebnis.

Irgendwelche Tipps sehr willkommen.
Beste Grüße
Lasse

  • Also ich dachte, ich hätte alles versucht, was hier vorgeschlagen wird, auf stack overflow. Aber dieser thread wirklich geholfen, mich in der end stackoverflow.com/questions/8392747/... Also, ein großes danke an RYAN für die Bereitstellung des Tipps zu Lesen, AP und dann mimmick es. In meinem Fall stellte sich heraus, dass ich brauchte, um hinzuzufügen, obwohl ich die Einstellung für WPA benötigte ich noch hinzufügen allowedGroupCiphers WEP40 und WEP104 Und ich hatte nur wc.allowedProtocols.set(WifiConfiguration.Protokoll.RSN); So habe ich auch Hinzugefügt, wc.allowedProtocols.set(WifiConfiguration.Protokoll.WPA);
InformationsquelleAutor Lasse | 2012-03-15
Schreibe einen Kommentar