3
String BACKSLASH = "\"";
String NETWROK_SECURITY_WEP = "WEP";
String NETWROK_SECURITY_NONE = "NONE";
String NETWROK_SECURITY_WPA = "WPA";
String NETWROK_SECURITY_WPA2 = "WPA2";
String NETWROK_SECURITY_WPA_WPA2 = "WPA/WPA2 PSK";
String NETWROK_ADDITIONAL_SECURITY_TKIP = "TKIP";
String NETWROK_ADDITIONAL_SECURITY_AES = "AES";
String NETWROK_ADDITIONAL_SECURITY_WEP = "WEP";
String NETWROK_ADDITIONAL_SECURITY_NONE = "NONE";
int FAILED_TO_ADD_NETWORK = -1;
WifiConfiguration conf = new WifiConfiguration();
String wifiName = sSid;
conf.SSID = BACKSLASH + wifiName + BACKSLASH;
String securityType = NETWROK_SECURITY_WPA_WPA2;
if (NETWROK_SECURITY_WEP.equalsIgnoreCase(securityType)) {
conf.wepKeys[0] = pass;
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
} else if (NETWROK_SECURITY_NONE.equalsIgnoreCase(securityType)) {
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
} else if (NETWROK_SECURITY_WPA.equalsIgnoreCase(securityType)
|| NETWROK_SECURITY_WPA2.equalsIgnoreCase(securityType)
|| NETWROK_SECURITY_WPA_WPA2.equalsIgnoreCase(securityType)) {
conf.preSharedKey = BACKSLASH + pass + BACKSLASH;
conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
conf.status = WifiConfiguration.Status.ENABLED;
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
conf.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
}
String wlanAdditionalSecurity = "";
if(NETWROK_ADDITIONAL_SECURITY_TKIP.equalsIgnoreCase(wlanAdditionalSecurity)) {
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
} else if
(NETWROK_ADDITIONAL_SECURITY_AES.equalsIgnoreCase(wlanAdditionalSecurity)) {
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
} else if
(NETWROK_ADDITIONAL_SECURITY_WEP.equalsIgnoreCase(wlanAdditionalSecurity)) {
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
} else if (NETWROK_ADDITIONAL_SECURITY_NONE.equalsIgnoreCase(wlanAdditionalSecurity)) {
conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.NONE);
}
WifiManager wifiManager = (WifiManager)
mContext.getSystemService(Context.WIFI_SERVICE);
int res = wifiManager.addNetwork(conf);
wifiManager.disconnect();
wifiManager.reconnect();
if (true) {
wifiManager.enableNetwork(res, true);
wifiManager.saveConfiguration();
wifiManager.setWifiEnabled(true);
new AppPreferences(mContext).setPrefrenceLong("connectTime",
Calendar.getInstance().getTimeInMillis());
}
if (res != -1) {
setFalseOther(mm);
notifyDataSetChanged();
Intent i = new Intent(mContext, Connect.class);
i.putExtra("networkName", mm.getName());
i.putExtra("networkId", mm.getId());
i.putExtra("AdminID", mm.getUserId());
i.putExtra("networkConnection", "true");
mContext.startActivity(i);
}
このコードは、Androidロリポップで動作しますが、マシュマロ.unableため 削除するには、プログラム変更の無線LAN設定のため マシュマロの次のWiFiネットワークにアンドロイドMでプログラムでWiFi設定を変更するための開発?
開発を接続する前にパスワードを保存していないと動作しない保存wifiaswordsを削除アンドロイドM?保存されているwifiaswordsを削除しないでください
すべての前提条件が同じ問題に直面していることを許可した後! –
アクティビティファイルに実行時許可コードを書き込みます。 – Drv
私はすでにアクティビティの中でmarshmallowに必要な実行時権限をすべて与えています。このコードは、marshmallowで動作していない接続用です。 –