Android getDefaultSharedPreferences

Мой код:

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

Always возвращает разные значения в зависимости от версии ОС. Протестировано в 2.2, 2.3.4, 3.2, 4.0.3 - возвращает правильное значение. Но для устройства Zte blade с 2.3.7 с CianogenMod 7.1 - результат всегда ложный. Я полагаю, значение по умолчанию для getBoolean.

Здесь код написан логически:

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

У кого-нибудь есть идеи?

Обновление: Сравнение моего текущего кода с моей предыдущей версией кода - нет никакой разницы в коде. Единственная разница в манифесте: код работает нормально с minVersion = 8 и targetVersion = 8 Теперь я компилирую с minversion = 8 и target = 13 / из-за Admob /. Возможно, некоторые API изменились, но я ничего не нашел по этому поводу.

SOLUTION: - Запуск приложения из ярлыка и из меню дает мне разные DefaultSharedPreferences. После удаления DefaultSharedPreferences из моего кода - он работает отлично. Я не могу просто сказать: люди не делают ярлыки, поэтому мне пришлось изменить код.

Ответы на вопрос(1)

Ваш ответ на вопрос