Я создал приложение для подключения к выбранному Wi-Fi из списка. Это отлично работает в версии Android 4.1.2 (идентификатор сети = 10), но если я попытаюсь запустить одно и то же приложение в версиях 4.4.2 и 4.4.4, оно покажет значение идентификатора сети как -1.
Мой код для достижения этого:
private void connectToWifi2() {
// TODO Auto-generated method stub
// Main method. Write code here.
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = String.format("\"%s\"", selWifi.SSID);
conf.preSharedKey = String.format("\"%s\"", pwd.getText().toString());
conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
conf.status = WifiConfiguration.Status.ENABLED;
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
conf.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
conf.hiddenSSID = true;
// remember id
int netId = wifiManager.addNetwork(conf);
Log.d("RMGWiFiConfig", "netId returned" + netId);
if (netId >= 0) {
Log.i("RMGWiFiConfig", "Connecting with " + selWifi.SSID);
wifiManager.disconnect();
Boolean statusInBoolean = wifiManager.enableNetwork(netId, true);
Log.d("RMGWiFiConfig", "Enabled network returned "
+ statusInBoolean);
Log.d("RMGWiFiConfig", "Reassociate : " + wifiManager.reassociate());
Log.d("RMGWiFiConfig", "Reconnect " + wifiManager.reconnect());
} else {
Log.d("RMGWifiConfig", "Failed to add network configuration");
}
}
Я попытался сослаться на приведенные ниже ссылки, но не смог решить проблему. Или, может быть, я не могу правильно вписать решение, представленное в приведенных ниже ссылках. Пожалуйста, сообщите мне об изменениях, которые мне нужно внести в мой код.
Не удается подключить другое устройство Android с Wi-Fi с Android леденец
Android WifiConfiguration показывает -1 для идентификатора. Как исправить, чтобы SSID распознавался?
android wifiManager.addNetwork возвращает -1
WifiConfiguration включает сеть в Lollipop
Android 5.0 Lollipop и 4.4 KitKat игнорируют мою сеть WiFi, функция enableNetwork() бесполезна
Пожалуйста помоги!
Спасибо, Шрути.