Только одна активность в Back Stack

У меня есть 5 видов деятельности: A, B, C, D и E.

Я могу начать все действия с каждого из них, но я хочу, чтобы Back Stack сохранял только последнее действие.

Например: A->B->C->D. Если я нахожусь в D, я могу вернуться к C, но теперь, в C, когда я нажимаю кнопку "назад", я хочу только перейти к основной деятельности (A).

Это возможно? Спасибо!

2 ответа

При переходе от B -> C вызовите метод finish() для Activity B. Это предотвратит размещение B в заднем стеке.

Вы можете очистить задний стек, как только вы находитесь в C и перейти к A.

От A до BB к C. C к D.

Назад D к C

В C вы можете использовать ниже.

  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
    onBackPressed();

    }

return super.onKeyDown(keyCode, event);
   }

public void onBackPressed() {
Intent myIntent = new Intent(C.this, A.class)
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//clear top of stack.
startActivity(myIntent);
finish();
return;
    }
Другие вопросы по тегам