可能是重复问题:
如何以编程方式在Android上连接到特定的WiFi网络?
我知道有几个类似的问题,但我已经尝试了stackoverflow和其他网站中发现的所有方法,但都没有解决我的问题。
我正在从一个设备创建访问点,并尝试从另一个设备以编程方式连接到它。WifiConfiguration在两个设备上完全相同。我能够找到网络,但无法连接!我非常确定AP不是问题,因为我能够通过默认的Android wifi设置(手动输入密码等)连接到它。
//当通过startScan()找到网络时,我尝试连接:
WifiConfiguration wc=new WifiConfiguration();
wc.SSID="\"my_ssid\"";
wc.preSharedKey = "\"my_password\"";
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
int netId=wifi.addNetwork(wc);
wifi.enableNetwork(netId, true);
addNetwork()方法返回一个有效的网络ID,我没有收到任何错误提示。只是无法连接。
我已经尝试将WifiConfiguration更改为OPEN,并尝试了其他几种方法,但都没有效果。Wi-Fi已经启用。
如果有人能帮忙解决这个问题,我将不胜感激。