WifiManager делает странные вещи (Android)
Ребята, мне нужна помощь здесь... Я работаю над этой проблемой уже несколько дней и довольно отчаянно.
Я разработал приложение для Android, которое ищет беспроводные сети, начиная с некоторого префикса (например, MyWifi_). Если он находит сеть с этим префиксом, он пытается установить соединение.
Проблема в том, что в некоторых устройствах он подключается, но в других устройствах он устанавливает сеть, но никогда не подключается. Точки доступа всегда имеют следующую конфигурацию:
netConfig = new WifiConfiguration();
netConfig.SSID = "my_prefix" + USER_NICK;
netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
netConfig.status = WifiConfiguration.Status.ENABLED;
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
и мой код подключения:
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"" + network.SSID + "\""; //'network' is the found network
wc.BSSID = network.BSSID;
wc.priority=1;
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wc.status = WifiConfiguration.Status.ENABLED;
int netId = wifi.addNetwork(wc); <---this is working fine... it adds the network
wifi.enableNetwork(netId, true);
Что-то не так с моей конфигурацией Wifi? Я попытался изменить несколько вещей (WEP,WPA,OPEN, подключение только по BSSID), но, похоже, ничто не решило мою проблему. Есть ли у вас WifiConfiguration, которая всегда работала для вас (как точка доступа и клиент)?
Спасибо
1 ответ
Возможно из-за приоритета (это просто 1). wpa_supplicant может решить не подключаться к сети с самым низким приоритетом. Попробуйте удалить эту строку. Однако это всего лишь теория.