我有一个包含3个屏幕的工作流程。从“屏幕1”进入“屏幕2”,用户必须接受我在图片中称之为“模态框”的某种条款和条件。但他只需要接受这些条件一次。下一次当他在第一个屏幕上时,他可以直接进入屏幕2。用户可以选择不接受条款,因此我们返回到“屏幕1”,并且不尝试进入“屏幕2”。
我想知道如何使用新的导航组件实现它。以前,我会这样做:
1. 在屏幕1上,检查用户是否必须接受条件。 2. 如果没有,启动“屏幕2”活动。 3. 如果是,使用
startActivityForResult()
并等待模态框的结果。标记条款为已接受。启动“屏幕2”。但是使用导航图后,无法启动片段以获取结果。
我可以在“模态”屏幕中标记条款为已接受,并从那里启动“屏幕2”。问题是,要访问屏幕2,我需要进行网络请求。我不想在“屏幕1”和“模态”中重复调用API并处理其结果。 有没有一种方法可以使用Jetpack导航从“模态”返回到“屏幕1”并携带一些信息(用户接受了条款)? 编辑:目前,我通过使用Yahya下面建议的相同流程来解决它:仅使用模态框的Activity并从“屏幕1”使用
startActivityForResult
。我只是想知道是否可以继续在整个流程中使用导航图。