У меня рабочий процесс с 3 экранами.От «экрана 1» до доступа к «экрану 2» пользователь должен принять некие условия , которые я называю на своем изображении «модальными».Но он должен принять эти условия только один раз.В следующий раз, когда он находится на первом экране, он может перейти непосредственно к экрану 2. Пользователь может выбрать НЕ принимать условия, и поэтому мы возвращаемся к «экрану 1» и не пытаемся перейти к «экрану 2».
Мне интересно, как это сделать с новым компонентом навигации .
Ранее, что бы я сделал это:
- На экране 1 проверьте, должен ли пользователь принять условия
- Если нет, запустите действие "экран 2"
- Если да, используйте
startActivityForResult()
и дождитесь результата от модала.Отметьте условия как принятые.Старт "screen 2"
Но с графиком навигации нет возможности запустить фрагмент, чтобы получить результат.
Я мог бы пометить термины, принятые в "модальном""экран и запустить" экран 2 "оттуда.Дело в том, что для доступа к экрану 2 мне нужно сделать сетевой запрос.Я не хочу дублировать вызов API и обрабатывать его результаты как в «screen 1», так и в «модальном».
Есть ли способ вернуться с "модального" на "экран 1" с некоторой информацией (пользователь принял условия), используя навигацию Jetpack?
Редактировать: В настоящее время я обхожу это, используя тот же поток, который предлагает Яхья ниже: используя Activity только для модального и используя startActivityForResult
из "экрана 1".Мне просто интересно, смогу ли я продолжать использовать график навигации для всего потока.