gpt4 book ai didi

android - 使用 NavDeepLinkBuilder 构建 fragment 回栈

转载 作者:行者123 更新时间:2023-12-03 17:00:14 24 4
gpt4 key购买 nike

我有一个单一的 Activity 应用程序,具有三个 fragment ,A,B,C。在正常的应用程序流程中, fragment 按顺序打开:A->B->C
我有一个带有通知的前台服务,单击该通知应打开 fragment C。我使用导航架构组件,并将目的地作为深层链接添加到通知中:

NotificationCompat.Builder(context, NOTIFICATION_CHANNEL)
....
.setContentIntent(NavDeepLinkBuilder(context)
.setGraph(R.navigation.main_navigation)
.setDestination(R.id.fragmentC)
.setArguments(bundle)
.createPendingIntent())
.build()

fragment 回栈未构建。当我从 fragment C 导航回来时,我立即到达 fragment A,而不是 B。
根据 Principles of navigation backstack 应该是自然的,但我似乎无法做到这一点。
我在这里想念什么?
谢谢你。

最佳答案

我通过将我的导航图重构为嵌套图来实现所需的后台堆栈。
正如 NavDeepLinkBuilder reference 中简短提到的那样“目的地及其所有父级将在后堆栈上。”和“目的地的父级是包含导航图的起始目的地”。

这两者一起意味着后台堆栈将包含深度链接目的地所在的所有嵌套导航图的起始目的地。

最初,我有一个没有嵌套的导航图,我唯一的 backstack 项目是该图的起始目的地。当我将导航图重构为由主(外部)导航图和嵌套图组成时,后台堆栈由两个图的起始目的地组成。

关于android - 使用 NavDeepLinkBuilder 构建 fragment 回栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62044623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com