Выбор ответа Middle Навигация спрашивают часто обновлено
Убрать экран входа из стека
Вопрос
После успешного входа пользователь попадает на главный экран. Как сделать, чтобы «Назад» не возвращало на экран входа?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: navigate(Home) { popUpTo<Login { inclusive = true } }. popUpTo<Login { inclusive = true } снимает со стека всё до экрана входа включительно, и главный становится корнем.
Варианты ответа
navigate(Home) { popUpTo<Login> { inclusive = true } }правильный ответnavigate(Home) { launchSingleTop = true }после входаnavigate(Home), затемpopBackStack()сразу после переходаnavigate(Home)иfinish()у Activity после навигации
Разбор
popUpTo<Login> { inclusive = true } снимает со стека всё до экрана входа включительно, и главный становится корнем. Простой navigate (в том числе с launchSingleTop) оставит вход под главным. popBackStack() после перехода снимет сам главный экран. finish() закроет всю Activity, а с ней и приложение в single-activity архитектуре.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что передавать в аргументах навигации
Следующий вопрос
Predictive back и onBackPressed