Создать логическую переменную (первоначально установлен в True), чтобы сказать вам, если это первый запуск или нет, и хранить его в Preferences
.
private boolean isFirstRun = true;
private SharedPreferences prefs;
Внутри на создание(), прочитать это значение из Preferences
в случае, если оно существует. Значение по умолчанию верно.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
isFirstRun = prefs.getBoolean("isFirstRun", 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();
В следующий раз вы запускаете свой код, переменная всегда будет ложным, и поэтому Dialog
не покажет.
Edit:
Внутри onStop()
, сделайте следующее:
if(alert!=null && alert.isShowing())
alert.dismiss();
Это уволит диалог при выходе из активности на другой. Как только вы нажмете кнопку «Назад», Dialog
не будет отображаться снова.
Где этот код называется, onResume()? – Kai
установить логическую переменную –
Это пишет сильфон общественного класс Main_Screen расширяет активность { общественного недействительный OnCreate (Bundle savedInstanceState) { ЗДЕСЬ – hhayf