Как при выходе из приложения вызвать диалоговое окно?
Подскажите, как при выходе из приложения, когда нажимаю кнопку "выйти" (которая отвечает за метод finish), вызвать диалоговое окно. Именно когда showDialog(DIALOG_EXIT); я это ставлю в метод finish(); окно вызывается, я прописал, что если if(int a <1){ showDialog(DIALOG_EXIT);, что мне нужно прописать, чтобы закрыть приложение. Или вообще по другому нужно сделать.
Ответы (2 шт):
Вам нужно показывать диалог не в момент завершения программы, что и делает метод onFinish а показывать когда вы нажимаете кнопку выхода, и если юзер согласен выйти то вызывать метод onFinish. Как-то так должно быть:
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.quit)
.setMessage(R.string.really_quit)
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton(R.string.no, null)
.show();
это пример диалога для выхода, вам нужно будет поставить свой показ диалога, но до того как вызывается метод onFinish
UPDATE
чтобы сохранить переменную в память и не показывать диалог то нужно сохранить в переменную и потом ее проверять:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
Boolean statusLocked = prefs.edit().putBoolean("locked", true).commit();
и дальше проверяете:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
if (prefs.getBoolean("locked", locked) {
} else {
}
Я капитан очевидность! Мне всего то нужно было вызвать диалог в onBackPressed();, после чего в окне уже если мне нужно вызываю finish();