在提供了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<WifiConfiguration> 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; } }