Случай 1: только два вида деятельности A и B:
Здесь поток операций - это A-> B.. Нажав кнопку B, мы должны закрыть приложение, а затем при запуске действия B из A просто вызвать метод finish (), чтобы Android не смог сохранить действие A в Backstack.eg для активность A - Loding / Splash экран приложения.
Intent newIntent = new Intent(A.this, B.class);
startActivity(newIntent);
finish();
Случай 2: Более двух видов деятельности:
Если есть такой поток, как A-> B-> C-> D-> B и при нажатии кнопки «Назад» в Деятельности B при переходе из Деятельности D. В этом случае мы должны использовать.
Intent newIntent = new Intent(D.this,B.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);
Здесь действие B будет запускаться из обратного стека, а не из нового экземпляра из-за Intent.FLAG_ACTIVITY_CLEAR_TOP и Intent.FLAG_ACTIVITY_NEW_TASK очищает стек и делает его верхним. Так что, когда мы нажимаем кнопку назад, все приложение будет завершено. 1015 *