Переходы Activity android

Здрaвcтвуйте! Как сделать, чтобы приложение не запоминало все переходы активити. Т.е если я сделаю 10 переходов между активностями, то для того чтобы выйти из приложения, нажать "назад" не 10 раз, а 2 раза допустим. Пишу на Java


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

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

Для того чтобы приложение ничего не запоминало то можно в файле AndroidManifest.xml в активности которую вы хотите исключить из истории добавить флаг:

<activity
    android:name=".AnyActivity"
    android:noHistory="true" />

так же довольно действенным способом является вызов finish() сразу после startActivity(). Так же при переходе на новую активность можно очищать стек активностей программно добавив флаг:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)

чтобы покинуть активность на второй клик кнопки назад можно использовать данную конструкцию в нужной вам активности (источник):

boolean doubleBackToExitPressedOnce = false;

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce=false;                       
        }
    }, 2000);
} 
→ Ссылка