Como e o que definir para o Android WifiConfiguration.preSharedKey para conectar-se à rede Wi-Fi WPA2 PSK

No Android 1.5 (também no 1.6)

Como adicionar um ponto de acesso a partir do código?

Dado ponto de acesso que suporta WPA2. Aqui está o meu trecho de código.

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
// This is must be quoted according to the documentation 
// http://developer.android.com/reference/android/net/wifi/WifiConfiguration.html#SSID
wc.SSID = "\"SSIDName\"";
wc.preSharedKey  = "password";
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;        
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res = wifi.addNetwork(wc);
Log.d("WifiPreference", "add Network returned " + res );
boolean b = wifi.enableNetwork(res, true);        
Log.d("WifiPreference", "enableNetwork returned " + b );

Esse código falha porque o LogCat aparece

01-26 16: 44: 13.550: ERRO / wpa_supplicant (2032): Linha 0: 'Senha' do PSK inválida.

Estou certo de que esta é a senha e que todos os demais parâmetros estão corretos. Do que sinto falta?

questionAnswers(3)

yourAnswerToTheQuestion