示例
在提供了SSID和密码的情况下,此示例连接到具有WEP加密的Wi-Fi接入点。
public boolean ConnectToNetworkWEP(String networkSSID, String password)
{
try {
WifiConfiguration conf = new WifiConfiguration();
conf.SSID= "\"" + networkSSID + "\""; //请注意引号。字符串应在引号中包含SSID
conf.wepKeys[0] = "\"" + password + "\""; //首先尝试使用引号
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.AuthAlgorithm.OPEN);
conf.allowedGroupCiphers.set(WifiConfiguration.AuthAlgorithm.SHARED);
WifiManager wifiManager = (WifiManager) this.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
int networkId = wifiManager.addNetwork(conf);
if (networkId == -1){
//如果使用十六进制密码,请重新输入引号,然后重试
conf.wepKeys[0] = password;
networkId = wifiManager.addNetwork(conf);
}
List list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
//WiFi连接成功,返回true
return true;
} catch (Exception ex) {
System.out.println(Arrays.toString(ex.getStackTrace()));
return false;
}
}