Der Versuch, eine NFC-Tag-App zu erstellen, die Wifi-Anmeldeinformationen auf einem NFC-Tag speichert, dann lesen Sie sie aus. Von dort nehme ich die Zeichenkette und verwende das, um die Zugangsdaten über wifimanager mit dem drahtlosen Netzwerk zu verbinden. Ich bin mir ziemlich sicher, dass der Code korrekt ist, aber er verbindet sich immer noch nicht. Fehle ich etwas? Der Kanal, mit dem ich mich verbinden möchte, ist WPA2.Verwenden von WifiManager zum Herstellen einer Verbindung mit einem drahtlosen Netzwerk (wpa2)
Wie kann ich die Daten für die Funktion bin ziehen:
@Override
public void onClick(View v)
{
String payload = _textViewData.getText().toString();
String[] parts = payload.split("-");
String SSID = parts[0];
String Password = parts[1];
part1.setText(SSID);
part2.setText(Password);
connectToWifi(SSID, Password);
}
});
AKTUALISIERT: connect Funktion
private void connectToWifi(final String networkSSID, final String networkPassword){
if (!wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(true);
}
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = String.format("\"%s\"", networkSSID);
conf.preSharedKey = "\""+ networkPassword +"\"";
WifiManager wifiManager = (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
List<WifiConfiguration> wifiList = wifiManager.getConfiguredNetworks();
for(WifiConfiguration i : wifiList) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
}
UPDATE 2:
ich mein Netzwerk WPA geschaltet und es funktionierte, scheint nicht für WPA2 zu funktionieren, ist das überhaupt möglich?
hmmm noch nicht funktioniert, wenden Sie sich bitte meine aktualisiert verbunden Funktion überprüfen, ob ich implementiert, was Sie richtig sagten. Außerdem hatte ich diesen 'wifiManager = (WifiManager) getSystemService (Context.WIFI_SERVICE);' am Anfang meiner OnCreate Funktion, also war ich nicht sicher, ob ich Ihren 'WifiManager wifiManager = (WifiManager) context.getSystemService (Kontext. WIFI_SERVICE); 'oder nicht, aber ich tat es. –
So sieht es aus wie es funktioniert für WPA aber nicht WPA2 –
@PaulCabz ich aktualisiere den Code bitte überprüfen. Ich war derselbe Code, der gut funktionierte, für WPA2 muss man offizielle Ausgaben lesen. hoffe, es funktioniert. Danke. –