SharedPreferences no guardará / cargará en PreferenceActivity

EDITAR El problema descrito a continuación se debió a un problema muy peculiar del dispositivo que no fue causado por ningún problema relacionado con la codificación.

Tengo una preferenciaActividad en la que tengo muchas checkBoxPreferences. Se supone que checkBoxPreference guarda el archivo de preferencias compartidas predeterminado y luego se vuelve a llamar cuando abro la aplicación para actualizar la interfaz de usuario.

Esto no sucede como se supone que debe pasar. Si cierro la aplicación y la vuelvo a abrir, mis valores se mantienen como deberían, pero si uso el administrador de tareas para finalizar la aplicación o si apago y enciendo el teléfono (cuando la aplicación no se está ejecutando), se invocan los valores predeterminados de nuevo

Entonces, creé una referencia compartida en mi onResume () para probarlo.

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

Luego verifico si hay una clave en esa preferencia compartida.

pref.contains("myCheckBoxPreference");

Cuando cierro y lo vuelvo a abrir, vuelve a ser verdadero. si cierro con el administrador de tareas o apago y enciendo el teléfono, eso devuelve falso.

Entonces, intenté configurar manualmente la SharedPreference

SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("myCheckBoxPreference", myCheckBoxPreference.isChecked());
editor.commit();

y luego lo llamé cuando cambió el valor de la casilla de verificación de preferencia. También intenté llamarlo en onStop y onPause. Aún así, si cierro la aplicación y la vuelvo a abrir, pref.contains devuelve verdadero, pero si apago y vuelvo a encender el teléfono, se retira, las urnas son falsas.

ntonces, intenté usar un archivo SharedPreferences.

En la declaración de clase:

public static final String PREFS = "prefs";

Y en onResume ():

SharedPreferences pref = this.getSharedPreferences(PREFS, 0);

Comportamiento igual, pref.contains aún devuelve verdadero si solo cierro la aplicación y la vuelvo a abrir, pero devuelve falso si apago y vuelvo a encender el teléfono.

uego intenté cambiar el valor clave de myCheckBoxPreference a algo que NO coincidía con la clave xml para CheckBoxPreference, y aún tuvo el mismo efecto.

Y desinstalé la aplicación del teléfono, luego apagué el teléfono y lo volví a encender, y luego volví a instalarlo, y todavía tiene el mismo efecto.

Respuestas a la pregunta(7)

Su respuesta a la pregunta