android 连接wifi

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();//保存连接信息

你可能感兴趣的:(Android)