Как при выходе из приложения вызвать диалоговое окно?

Подскажите, как при выходе из приложения, когда нажимаю кнопку "выйти" (которая отвечает за метод finish), вызвать диалоговое окно. Именно когда showDialog(DIALOG_EXIT); я это ставлю в метод finish(); окно вызывается, я прописал, что если if(int a <1){ showDialog(DIALOG_EXIT);, что мне нужно прописать, чтобы закрыть приложение. Или вообще по другому нужно сделать.


Ответы (2 шт):

Автор решения: Andrew

Вам нужно показывать диалог не в момент завершения программы, что и делает метод 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();

→ Ссылка