AES のみを使用すると接続に問題があります。WPA2 (TKIP) を使用して正常に接続できますが、(CCMP) では接続できません。最後の 2 つの TKIP 行をコメントアウトすると、接続できなくなります。CCMPがAndroidに実装されているのだろうか?
private WifiConfiguration getWifiConfiguration(ScanResult result, String password) {
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + result.SSID + "\"";
config.BSSID = result.BSSID;
config.preSharedKey = "\"" + password + "\"";
config.status = WifiConfiguration.Status.ENABLED;
config.hiddenSSID = false;
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
return config;
}