Android getDefaultSharedPreferences

Mein Code ist:

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

Gibt je nach Betriebssystemversion immer unterschiedliche Werte zurück. Getestet in 2.2, 2.3.4, 3.2, 4.0.3 - liefert den korrekten Wert. Aber für Gerät Zte Blade mit 2.3.7 mit CianogenMod 7.1 - Ergebnis ist immer falsch. Ich nehme an, Standardwert für getBoolean.

Hier ist Code, der boolesche Werte schreibt:

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

Hat jemand eine Idee?

Update: Vergleiche meinen aktuellen Code mit meiner vorherigen Codeversion - es gibt keinen Unterschied im Code. Der einzige Unterschied besteht im Manifest: Code funktioniert in Ordnung mit minVersion = 8 und targetVersion = 8. Jetzt kompiliere ich mit minversion = 8 und target = 13 / wegen Admob /. Vielleicht haben sich einige APIs geändert, aber ich habe nichts dazu gefunden.

LÖSUNG: - Wenn ich die App über die Verknüpfung und das Menü starte, erhalte ich unterschiedliche DefaultSharedPreferences. Nachdem ich DefaultSharedPreferences aus meinem Code entfernt habe, funktioniert es perfekt. Ich kann nicht einfach sagen: Die Leute machen keine Abkürzungen, also musste ich den Code ändern.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage