我想在我的应用程序中添加一个免责声明,它会在应用程序的第一次启动时弹出。如果用户拒绝,应用程序将关闭。如果用户再次打开应用程序,则应再次弹出免责声明,直到用户接受为止。一旦被接受,它应该隐藏并且不再弹出。
我的问题:如果我接受了免责声明,它就会关闭,一切都很好。但是当我启动应用程序时,它会再次弹出。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences pref = getSharedPreferences("Preferences", MODE_PRIVATE);
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)
.setIcon(R.drawable.caution)
.setPositiveButton("Accept", new DialogInterface.OnClickListener() {
SharedPreferences.Editor edit = pref.edit();
public void onClick (DialogInterface dialog, int id) {
boolean accepted = true;
dialog.cancel();
if(accepted == true)
{
edit.putString("Version", this.getString(R.string.version));
edit.commit();}
}
private String getString(int version) {
// I had to create this method, cause i got an error the line above this.getstring(R.string.version)
return null;
}
})
.setNegativeButton("Decline", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MainActivity.this.finish();
}
});
AlertDialog disc = builder.create();
disc.show();
} }
我发现了一个非常相似的问题,但我无法用它解决我的问题。
我会很高兴得到一个答案,如果可能的话,我会在代码中给出一个很好的解释。因为我想了解更多/为什么它解决了我的问题并且不想复制和插入代码并且很高兴它可以工作。