WifiManager做奇怪的事情(Android)

时间:2012-11-08 12:55:34

标签: android wifimanager wificonfiguration

伙计们,我需要一只手......我已经在这个问题上工作了好几天了,我非常绝望。

我开发了一款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(作为接入点和客户端)吗?

谢谢

1 个答案:

答案 0 :(得分:0)

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