让我们使用一个包含2个活动MainActivity和Activity2的应用程序。 MainAct是启动器活动。 Activity2包含一个默认的navhost片段,该片段具有一个带有两个片段的navgraph片段:fragment1(start-destination),fragment2。
启动MainActivity时,我会创建一个通知,该通知的内容意图是使用NavDeepLinkBuilder创建的,并导航到Activity2.fragment2。 如果MainActivity在前台运行并处于活动状态,并且Activity2.fragment2被导航,则会出现问题,然后在我按回去之后,它不会像应有的那样导航回到MainActivity,而是将我带到启动器主屏幕。
我还使用隐式深层链接测试了此行为: 亚行外壳程序开始-a“ android.intent.action.VIEW” -d http://fragment2/ 打开MainActivity,将Activity2置于顶部,然后按回去,将其导航至MainActivity。
我认为我没有正确构建显式链接,或者这是具有显式深链接的错误。 完成演示项目https://github.com/iulian0512/navtest
TLDR:
显式深层链接(从通知调用)
MainActivity(已运行)-> Activity2(按回车)->启动器主屏幕
隐式深层链接(从终端调用)
MainActivity(已在运行)-> Activity2(按回车)-> MainActivity
LE:我制作了一个视频,试图更简洁地说明问题https://www.youtube.com/watch?v=HBShKSjOcL8