Не удается программно подключиться к WiFi WPA2 из приложения Android
Пытаюсь программно подключиться к сети WiFi WPA2 с авторизацией по логину и паролю. К другой аналогичной сети, в которой авторизация только по паролю, программа подключается без проблем.
Вот код подключения по логину и паролю:
wifiConfig.status = WifiConfiguration.Status.ENABLED;
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP);
wifiConfig.enterpriseConfig.setIdentity("login");
wifiConfig.preSharedKey = "\""+ "password" +"\"";
int netId = wifiManager.addNetwork(wifiConfig);
if (netId == -1) {
Toast.makeText(MainActivity.this, "Не удалось настроить сеть!", Toast.LENGTH_LONG).show();
return;
}
if (!wifiManager.saveConfiguration()) {
Toast.makeText(MainActivity.this, "Не удалось сохранить сеть!", Toast.LENGTH_LONG).show();
return;
}
wifiManager.enableNetwork(netId, true);
В сети нашел информацию, что логин нужно добавлять так: wifiConfig.enterpriseConfig.setIdentity("login");
Но это не работает. Возникает ошибка аутентификации "login incorrect".
Подскажите что я делаю не так?
Источник: Stack Overflow на русском