我试图在应用程序首次运行时和每次更新后弹出免责声明。我做了一堆谷歌搜索并在这里查看了一些问题,这就是我的代码的样子:
SharedPreferences pref = getSharedPreferences("Preferences", MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
String lver = pref.getString("Version", "");
String ver = this.getString(R.string.version);
if(ver != lver)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Disclaimer")
.setMessage(this.getString(R.string.disclaimer))
.setCancelable(false)
.setPositiveButton("Accept", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
accepted = true;
dialog.cancel();
}
})
.setNegativeButton("Decline", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MainMenu.this.finish();
}
});
AlertDialog disc = builder.create();
disc.show();
if(accepted == true)
{
edit.putString("Version", this.getString(R.string.version));
edit.commit();
}
}
这段代码一开始确实有效,但是当我更改我的应用程序启动活动并将此代码从原始启动活动移动到新的活动时,它不再有效。免责声明出现在每次运行中。
我希望弹出窗口仅在首次运行和更新后显示。我需要做什么才能实现这一目标?我非常沮丧和困惑,因为它正在工作,然后没有。