android接続wifi

2891 ワード

1.目的アンドロイドコード接続WiFi(android 4.0,AS 4.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();//