在android上每个应用程序启动时只显示一次警报

时间:2014-09-28 13:23:39

标签: android

我想为我的应用程序添加启动警报,但每次回到主屏幕时它都会一直显示。我该怎么做?新手在这里,谢谢你。

 AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
        alertDialog.setMessage("About:");
        String alert1 = "Message here " ;
        String alert2 = "Message here "  ;
        String alert3 = "Message here " ;
        alertDialog.setMessage(alert1 +"\n"+ alert2 +"\n"+ alert3); 
        AlertDialog alert = alertDialog.create();
        alert.show();

1 个答案:

答案 0 :(得分:2)

创建一个布尔变量(最初设置为true)以告诉您它是否是第一次运行并将其存储在Preferences中。

private boolean isFirstRun = true;
private SharedPreferences prefs;

在create()内部,如果存在,则从Preferences读取该值。默认值是true。

prefs = PreferenceManager.getDefaultSharedPreferences(this);
isFirstRun = prefs.getBoolean("isFirstRun", true);

如果该变量值为true,则仅显示Dialog。 显示Dialog后,请将该变量设置为false并将其保存在Preferences中。

if(isFirstRun){
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
        alertDialog.setMessage("About:");
        String alert1 = "Message here " ;
        String alert2 = "Message here "  ;
        String alert3 = "Message here " ;
        alertDialog.setMessage(alert1 +"\n"+ alert2 +"\n"+ alert3); 
        AlertDialog alert = alertDialog.create();
        alert.show();
}

isFirstRun = false;

prefs.edit().putBoolean("isFirstRun", isFirstRun).commit();

下次运行代码时,变量将始终为false,因此Dialog不会显示。

编辑:

onStop()内,执行:

if(alert!=null && alert.isShowing())
   alert.dismiss();

当您将Activity退出到另一个时,这将关闭Dialog。按回按钮后,Dialog将再次显示。