Ich versuche, eine Verbindung zu einem bestimmten WLAN-Netzwerk, wie beschrieben here. Obwohl es manchmal funktioniert, passiert es meistens nicht. Ich verstehe nicht wirklich warum, wenn ich die App starte, sagen wir 10 mal, das Gerät verbindet sich 2 Mal mit meinem Netzwerk und die anderen 8 nicht.Android ändern WiFi-Netzwerk funktioniert nicht
Im folgenden ist der Code, den ich in einem Fragment verwende.
WifiConfiguration wificonfiguration = new WifiConfiguration();
wificonfiguration.SSID = "\"" + networkSSID + "\"";
wificonfiguration.priority = 40;
wificonfiguration.status = WifiConfiguration.Status.ENABLED;
// WPA management
wificonfiguration.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wificonfiguration.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
wificonfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wificonfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wificonfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wificonfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
wificonfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
wificonfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wificonfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wificonfiguration.preSharedKey = "\"" + networkPass + "\"";
WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
int networkId = wifiManager.addNetwork(wificonfiguration);
if (networkId > -1) {
boolean status = wifiManager.enableNetwork(networkId, true);
}
Die Netzwerk-Konfiguration wird den Manager tatsächlich hinzugefügt und status
Wert ist wahr. Ich habe es auf mehreren Geräten mit Lollipop ausgeführt. Auch das Netzwerk, mit dem ich mich verbinden möchte, bietet keinen Internetzugang, also dachte ich auch, dass das ein Problem für das sein könnte, was in der Anmerkung here angegeben ist. Kann mir jemand sagen, ob der Code in Ordnung ist?
Gelöst
Das Problem wird durch das Hinzufügen wifiManager.disconnect();
vor dem Hinzufügen der neue Netzwerkkonfiguration gelöst wurde.
Leider hat es nicht funktioniert, aber die Verbindung über 'wifiManager.disconnect();' tat. – aleGrazioli