Sobes.tech
Junior — Middle

Come si può tornare all'attività iniziale e cancellare l'intero stack di operazioni di ritorno usando i comandi di sistema?

sobes.tech AI

Risposta dell'AI

Для перехода с текущей Activity к стартовой и очистки всего стека возвратных операций в Android можно использовать Intent с флагами:

Intent intent = new Intent(this, StartActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

Здесь:

  • FLAG_ACTIVITY_CLEAR_TOP — если стартовая Activity уже есть в стеке, все Activity поверх неё будут удалены.
  • FLAG_ACTIVITY_NEW_TASK и FLAG_ACTIVITY_CLEAR_TASK вместе очищают весь текущий стек и создают новую задачу с указанной Activity.

Таким образом, пользователь попадёт на стартовую Activity, а стек возвратных операций будет очищен.