Cómo y qué configurar en Android WifiConfiguration.preSharedKey para conectarse a la red WiFi WPA2 PSK

En Android 1.5 (también en 1.6)

¿Cómo agregar un punto de acceso desde el código?

Punto de acceso dado que soporta WPA2. Aquí está mi fragmento 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 );

Este código falla como aparece en LogCat

01-26 16: 44: 13.550: ERROR / wpa_supplicant (2032): Línea 0: 'Contraseña' PSK no válida.

Estoy seguro de que esta es la contraseña y que todos los demás parámetros son correctos. ¿Qué es lo que echo de menos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta