Android getDefaultSharedPreferences

Mój kod to:

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

Zawsze zwraca różne wartości w zależności od wersji os. Testowane w 2.2, 2.3.4, 3.2, 4.0.3 - zwraca poprawną wartość. Ale dla urządzenia Zte blade z 2.3.7 z CianogenMod 7.1 - wynik jest zawsze fałszywy. Przypuszczam, że domyślna wartość getBoolean.

Oto kod boolowski:

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

Czy ktoś ma jakiś pomysł?

Aktualizacja: Porównując mój obecny kod z poprzednią wersją kodu - nie ma różnicy w kodzie. Tylko manifest jest w manifest: kod działa Ok z minVersion = 8 i targetVersion = 8 Teraz kompiluję z minversion = 8 i target = 13 / z powodu Admob /. Może zmieniły się niektóre interfejsy API, ale nic na to nie znalazłem.

ROZWIĄZANIE: -Uruchamianie aplikacji ze skrótu iz menu daje mi różne Preferencje DefaultShared. Po usunięciu DefaultSharedPreferences z mojego kodu - działa idealnie. Nie mogę po prostu powiedzieć: ludzie nie robią skrótów, więc musiałem zmienić kod.

questionAnswers(1)

yourAnswerToTheQuestion