Можно ли в текущий Task добавить Activity сверху

«Можно ли в текущий Task добавить Activity сверху» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно. Для этого нужно использовать Intent с флагами FLAG_ACTIVITY_NEW_TASK и FLAG_ACTIVITY_CLEAR_TOP, но лучше явно указать Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP.

Пример:

val intent = Intent(this, NewActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)

Это создаст новую Activity в текущем Task, удалив все Activity над ней (если они есть). Если нужно просто добавить Activity без очистки стека, используйте стандартный startActivity() без специальных флагов.