Android和深层链接中的多个导航图

时间:2018-08-01 07:52:43

标签: android deep-linking android-navigation

我有3个活动:主要,登录,向导。

对于每个活动,我都有单独的导航图,其中包含分段目标。

主导航图也具有“登录活动”目的地,以便在注销时启动“登录”屏幕。

Action.MAIN 启动器意图启动

App似乎正常工作。

但是使用Deep Link时遇到问题。我想将URI添加到“登录导航图”(更改密码片段)。该导航图使用单独的NavHostFragment。我使用了2种方法。

  1. 直接添加深层链接以更改“登录导航图”中的“密码片段目标”->“深层链接”仅导航至START DESTINATION(登录片段目标)。这里的“后退”按钮也不能正常工作,即完成应用程序后返回“主导航图主要目标位置”。
  2. 再次向Login Activity Destination中的Main Nav Graph添加深层链接,这里的“后退”按钮确实可以正常工作,正如我所料,我登陆了登录片段目标。但是在这里我想手动导航到``更改密码片段目的地'',但是遇到另一个问题,即Intent Action.View with Uri数据未传递到该Login Activity目标中。它仅交付给承载“主导航图”的“主要活动”。

总结一下。我认为通过活动目标连接的多个导航图之间的这种深层链接行为无法正常工作。我不知道是否有解决办法。

我可以以某种方式从NavController中检索深度链接参数(Uri数据)吗?还是唯一的解决方案是从getIntent()。data获取它?正如我所说的,此Intent不会转发到最终目标Activity,而只会转发到已创建的Activity堆栈中的第一个Activity。

现在,我返回没有Android导航体系结构的手动处理深层链接,因为如果导航结构比具有单个Activity和仅内部Fragment导航的单个Nav Graph更复杂,那么它似乎毫无用处。

0 个答案:

没有答案