0

伙计们,我需要帮助。我已经研究这个问题好几天了,非常绝望。

我开发了一个 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);

我的 WifiConfiguration 有问题吗?我尝试更改几件事(WEP、WPA、OPEN、仅通过 BSSID 连接),但似乎没有任何东西可以解决我的问题。您是否有任何一直为您工作的 WifiConfiguration(作为接入点和客户端)?

谢谢

4

1 回答 1

0

也许是因为优先级(它只是 1)。wpa_supplicant 可能决定不连接到优先级最低的网络。尝试删除此行。然而,这只是一个理论。

于 2012-11-29T20:20:53.753 回答