Я пытаюсь создать всплывающее диалоговое окно «что нового», когда пользователи обновляют (или, я полагаю, устанавливают) мое приложение. У меня есть следующая логика, чтобы проверить, что последняя установленная версия затем сравнивает ее с текущей версией, а затем сохраняет текущую версию как «последнюю» версию (это называется в конце onCreate() моего «первого "Activity
):Настройки Android не сохраняются
int lastVersion = getPreferences(MODE_PRIVATE).getInt(LAST_VERSION, 34);
try {
int currentVersion = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
Log.d(getClass().getSimpleName(), "Old Version = " + lastVersion);
Log.d(getClass().getSimpleName(), "New Version = " + currentVersion);
if (currentVersion != lastVersion) {
// write the current version to the preferences so they won't see the popup again
getPreferences(MODE_PRIVATE)
.edit()
.putInt(LAST_VERSION, lastVersion)
.commit();
// tell the user the new thing
AlertDialog dia = new AlertDialog.Builder(this)
.setTitle(R.string.main_menu_new_title)
.setMessage(R.string.main_menu_new_body)
.create();
dia.show();
}
} catch (NameNotFoundException ex) {}
проблема заключается в том, что независимо от того, сколько раз я запустить приложение я всегда получаю значение по умолчанию для lastVersion
, так всплывающий вСЕГДА происходит. Идеи?
О jeeze ... поздно ночью. Благодарю. –