Android getDefaultSharedPreferences

Mi código es:

final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean hasBeenShown = prefs.getBoolean(eulaKey, false);

Siempre devuelve valores diferentes dependiendo de la versión del sistema operativo. Probado en 2.2, 2.3.4, 3.2, 4.0.3 - devuelve el valor correcto. Pero para el dispositivo Zte blade con 2.3.7 con CianogenMod 7.1, el resultado es siempre falso. Supongo que el valor por defecto para getBoolean.

Aquí está el código de escritura booleano:

final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(eulaKey, true);
editor.commit();

¿Alguien tiene alguna idea?

Actualización: comparando mi código actual con mi versión anterior del código, no hay diferencia en el código. La única diferencia está en el manifiesto: el código funciona Ok con minVersion = 8 y targetVersion = 8 Ahora estoy compilando con minversion = 8 y target = 13 / porque Admob /. Tal vez algunas API cambiaron, pero no encontré nada en esto.

SOLUCIÓN: -Aplicar la aplicación desde el acceso directo y desde el menú me da diferentes DefaultSharedPreferences. Después de eliminar DefaultSharedPreferences de mi código, funciona perfectamente. No puedo decir simplemente: la gente no hace atajos, así que tuve que cambiar el código.

Respuestas a la pregunta(1)

Su respuesta a la pregunta