Наконец, ребята после нескольких часов исследований смогли определить следующее:
Предварительные условия:
1) устройство подключено к сети Wi-Fi со стандартными настройками устройства с правильным паролем;
2) M пытается проверить введенные пользователем учетные данные для этой сети Wi-Fi.
Результаты:
Предупредить! (у меня работает только точный поток действий):
1) отключиться от Wi-Fi:
wifiManager.disconnect();
2) создать конфигурацию:
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + wifiSsid + "\"";
if(authType == 0){
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
} else if(authType == 1) {
conf.preSharedKey = "\""+ wifiPassword+"\"";
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
} else {
conf.preSharedKey = "\""+ wifiPassword+"\"";
}
conf.status = WifiConfiguration.Status.ENABLED;
3) отключить и удалить все конфиги (на самом деле они не будут удалены, если они не были созданы в вашей заявке):
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for (WifiConfiguration i : list) {
wifiManager.disableNetwork(i.networkId);
wifiManager.removeNetwork(i.networkId);
}
4) добавить созданную конфигурацию:
final int networkId = wifiManager.addNetwork(conf);
5) Активировать конфигурацию, но только с помощью этой команды:
wifiManager.enableNetwork(networkId, true);
В результате, если пароль Wi-Fi в конфигурации правильный, вы получаете соединение с Wi-Fi в течение примерно 2 - 4 секунд, но если пароль от Wi-Fi в конфигурации неправильный - вы подключаетесь (если эта сеть была подключена ранее через настройки) намного дольше около 8 - 12 секунд.
Здесь вы не подключены в течение 2-4 секунд, вы можете написать, что проверка учетных данных Wi-Fi не удалась или подключение к сети не удалось.
Я попросил у функции разработчиков Google менеджера Wi-Fi проверить способность учетных данных, но пока для меня это все, что можно сделать.
Ребята, любые другие решения приветствуются!