[英]Build fragment backStack for push notification
当用户点击状态栏上的通知时,我正在使用FCM显示片段。
当前的应用程序流程就是这个MainActivity
(片段A->片段B->片段C)。
但是,当用户点击通知时(无论应用程序是否在运行),我想显示Fragment C,同时仍提供适当的后退导航,因此在按后退键时,再次按下时,用户将进入Fragment B和FragmentA。
我知道活动具有用于此目的的TaskStackBuilder
,但是在显示通知之前我找不到用于构建片段的backStack
任何东西。
知道如何建立堆栈吗? 我尝试将所有片段添加到事务中,然后在添加片段C之前提交,但是我得到了IllegalStateException: commit already called
在第二次提交时IllegalStateException: commit already called
了提交
手动处理片段堆栈很困难。 我建议您检查一下Navigation Component 。 它将允许使用适当的后向堆栈处理( NavDeepLinkBuilder
类)构建显式深层链接。
显示您的代码。 可能您必须为每个片段创建新事务并提交操作。 使用此方法添加A,B和C:
public void addFragmentOnTop(Fragment fragment) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.container, fragment)
.addToBackStack(null)
.commit();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.