gpt4 book ai didi

Android 偏好不保存

转载 作者:行者123 更新时间:2023-11-29 22:31:24 25 4
gpt4 key购买 nike

我正在尝试在用户更新(或者,我猜是安装)我的应用程序时创建一个“新增功能”弹出对话框。我有以下逻辑来检查最后安装的版本然后将它与当前版本进行比较,然后将当前版本保存为“最后”版本(这在我的“第一个”的 onCreate() 结束时调用" Activity ):

    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 的默认值,所以弹出窗口总是会发生。想法?

最佳答案

您正在将 版本号写回首选项。

改变:

getPreferences(MODE_PRIVATE)
.edit()
.putInt(LAST_VERSION, lastVersion)
.commit();

到:

getPreferences(MODE_PRIVATE)
.edit()
.putInt(LAST_VERSION, currentVersion)
.commit();

关于Android 偏好不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3855112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com