如下代码:(注释掉的是会返回-1的代码,未注释的是能够正常连接wifi的代码)
// public WifiConfiguration CreateWifiInfo(String SSID, String Password,int Type) {// WifiConfiguration config = new WifiConfiguration();// config.allowedAuthAlgorithms.clear();// config.allowedGroupCiphers.clear();// config.allowedKeyManagement.clear();// config.allowedPairwiseCiphers.clear();// config.allowedProtocols.clear(); config.SSID = "\"" + SSID + "\"";// config.SSID = SSID;//// WifiConfiguration tempConfig = this.IsExsits(SSID);// if (tempConfig != null) {// mWifiManager.removeNetwork(tempConfig.networkId);// }//// if (Type == 1) // WIFICIPHER_NOPASS// {// config.wepKeys[0] = "";// config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);// config.wepTxKeyIndex = 0;// }// if (Type == 2) // WIFICIPHER_WEP// {// config.hiddenSSID = true; config.wepKeys[0] = "\"" + Password + "\"";// config.wepKeys[0] = Password;// config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);// config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);// config.wepTxKeyIndex = 0;// }// if (Type == 3) // WIFICIPHER_WPA// { config.preSharedKey = "\"" + Password + "\"";// config.preSharedKey =Password;// config.hiddenSSID = true;// config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);// config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);// config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);// // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);// config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);// config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);// config.status = WifiConfiguration.Status.ENABLED;// }// return config;// } public WifiConfiguration CreateWifiInfo(String SSID, String Password, int Type) { WifiConfiguration config = new WifiConfiguration(); config.allowedAuthAlgorithms.clear(); config.allowedGroupCiphers.clear(); config.allowedKeyManagement.clear(); config.allowedPairwiseCiphers.clear(); config.allowedProtocols.clear(); config.SSID = "\"" + SSID + "\""; WifiConfiguration tempConfig = this.IsExsits(SSID); if (tempConfig != null) { mWifiManager.removeNetwork(tempConfig.networkId); } if (Type == 1) // WIFICIPHER_NOPASS { config.wepKeys[0] = ""; config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); config.wepTxKeyIndex = 0; } if (Type == 2) // WIFICIPHER_WEP { config.hiddenSSID = true; config.wepKeys[0] = "\"" + Password + "\""; config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); config.wepTxKeyIndex = 0; } if (Type == 3) // WIFICIPHER_WPA { config.preSharedKey = "\"" + Password + "\""; config.hiddenSSID = true; config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); config.status = WifiConfiguration.Status.ENABLED; } return config; }
有知道为什么ssid和pwd需要加上双引号的大侠请在下面加个评论,感谢!