android接続wifi
2891 ワード
1.目的アンドロイドコード接続WiFi(android 4.0,AS 4.0)
2.コード:
//WiFi接続情報の作成
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();//