1.目的安卓代码连接WiFi(android 4.0 ,AS4.0)
2.代码:
//创建WiFi连接信息
public WifiConfiguration createWifiInfo(String SSID, String Password, int Type) {
WifiConfiguration configuration = new WifiConfiguration();
configuration.allowedAuthAlgorithms.clear();
configuration.allowedGroupCiphers.clear();
configuration.allowedKeyManagement.clear();
configuration.allowedPairwiseCiphers.clear();
configuration.allowedProtocols.clear();
configuration.SSID = "\"" + SSID + "\"";
WifiConfiguration tempConfig = this.isExsits(SSID);
if(tempConfig != null) {
//mWifiManager.removeNetwork(tempConfig.networkId);
}
switch (Type) {
case 1://不加密
configuration.wepKeys[0] = "";
configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
configuration.wepTxKeyIndex = 0;
configuration.priority= 20000;
break;
case 2://wep加密
configuration.hiddenSSID = true;
configuration.wepKeys[0] = "\"" + Password +"\"";
configuration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
break;
case 3: //wpa加密
configuration.preSharedKey = "\"" + Password + "\"";
configuration.hiddenSSID = true;
configuration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
configuration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
configuration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
configuration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
configuration.status = WifiConfiguration.Status.ENABLED;
break;
}
return configuration;
}
//初始化WiFi
WifiManager mWifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
//初始化类
WifiConnectUtil wifiUtil = new WifiConnectUtil(mWifiManager);
//连接调用连接类
int networkId = mWifiManager.addNetwork(wifiUtil.createWifiInfo(settingCardInfo.SSID,settingCardInfo.SSIDPassword,3));
//连接WiFi
mWifiManager.enableNetwork(networkId, true);
mWifiManager.saveConfiguration();//保存连接信息