Удалить или уничтожить все действия, кроме текущей - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть приложение с такой последовательностью действий:

Вход> Деятельность 1> Деятельность 2> Деятельность 3> HomeActivity

В действии 3 естькнопка для открытия HomeActivity. После этого в HomeActivty я нажимаю кнопку «Назад», и она все еще может вернуться к действию 3, когда этого не должно быть. Я пробовал это, но все еще не работает:

Intent intent = new Intent(QuestionaireFinalActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

Intent intent = new Intent(QuestionaireFinalActivity.this, HomeActivity.class);
startActivity(intent);
finish();

Есть ли другие способы уничтожить все действия до HomeActivity, поэтому при нажатии кнопки «Назад» приложение будет закрыто? Пожалуйста, помогите ...

Ответы [ 3 ]

1 голос
/ 11 ноября 2019

используйте этот метод, чтобы очистить все действия:

public static void clearAllIntent(Intent intent){
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|
                Intent.FLAG_ACTIVITY_CLEAR_TASK |
                Intent.FLAG_ACTIVITY_NEW_TASK);
    }
0 голосов
/ 11 ноября 2019

Это должно работать:

activity.finish();
Intent intent = new Intent(activity, cls);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT);
}
activity.startActivity(intent);
0 голосов
/ 11 ноября 2019

Попробуй! Ниже код определенно работает для вас. ;)

Intent intent = new Intent(QuestionaireFinalActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...