Переходы Activity android

196
15 апреля 2022, 23:30

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

Answer 1

Для того чтобы приложение ничего не запоминало то можно в файле 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);
} 
READ ALSO
Бумажная полоска на Java

Бумажная полоска на Java

Задана полоска длиной 2^k клеток и шириной в одну клеткуПолоску сгибают пополам так, чтобы правая половинка оказалась под левой

326
Альтернатива ключевого слова ref в Java

Альтернатива ключевого слова ref в Java

Нужно адаптировать метод из C# для JavaКак можно заменить ключевое слово ref в данной ситуации?

274
Как устроен static class

Как устроен static class

В интернете нашёл пример неправильного использования ThreadLocal переменной и внутренних классов

201
Как лучше всего вывести List &lt;Music&gt; list, где Music - это интерфейс?

Как лучше всего вывести List <Music> list, где Music - это интерфейс?

Есть класс MusicPlayer, у него есть поле List<Music> list , где Music - интерфейс с методом скажиСвоюПесню(), который реализуют три класса

203