Вам необходимо сохранить значение инициализации на постоянной основе, например в базе данных или, проще, в SharedPreferences. Проверьте это значение при запуске. Как:
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
boolean isInitialized = sharedPref.getBoolean("INIT_STATE", false);
if (!isInitialized) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Prompt message")
.setMessage("Your message")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("INIT_STATE", true);
editor.apply();
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
} else {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
Конечно, этот код является руководством, вы должны добавить проверку ошибок и избегать дублирования кода, где это возможно, и т. Д.