gpt4 book ai didi

android - 为推送通知构建 fragment backStack

转载 作者:行者123 更新时间:2023-11-29 22:52:18 26 4
gpt4 key购买 nike

当用户点击状态栏中的通知时,我正在使用 FCM 显示 fragment 。

当前的应用程序流是这个 MainActivity( fragment A -> fragment B -> fragment C)。

但是,当用户点击通知时(无论应用程序是否正在运行),我想显示 Fragment C,同时仍然提供正确的后退导航,因此在按下后退键时,用户再次按下时将被带到 Fragment B 和 Fragment A。

我知道 Activity 有 TaskStackBuilder 用于此目的,但在显示我的通知之前,我找不到任何用于为 fragment 构建 backStack 的内容。

知道如何构建堆栈吗?我尝试将所有 fragment 添加到事务中,然后在添加 fragment C 之前提交,但在第二次提交时我得到 IllegalStateException: commit already called

最佳答案

fragment 堆栈的手动处理很困难。我建议您查看 Navigation Component .它将允许通过适当的返回堆栈处理(NavDeepLinkBuilder 类)构建显式深层链接。

显示您的代码。可能您必须为每个 fragment 创建新事务并提交操作。使用此方法添加 A、B 和 C:

    public void addFragmentOnTop(Fragment fragment) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.container, fragment)
.addToBackStack(null)
.commit();
}

关于android - 为推送通知构建 fragment backStack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57769596/

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