Только одна активность в 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;
}