我们试图实现的是当用户点击通知时,他/她应该被重定向到某个片段。该目标片段startDestination
在图中标记为(它有自己的.xml
文件)。
为了创建PendinIntent
这个,我们使用NavDeepLinkBuilder
这样的:
// `this` represents the notification service.
NavDeepLinkBuilder(this)
.setGraph(R.navigation.destination_graph)
.setDestination(R.id.start_destination)
.createPendingIntent()
其中是在该图的又名开始目的地中的根标记的属性中R.id.start_destination
指定的片段的 id 。app:startDestination
navigation
R.navigation.destination_graph
如果我们尝试使用它,我们会收到以下错误。如果我们使用标记为 的片段以外的任何其他片段startDestination
,它可以无缝工作。
我们的图表是这样的。
实际情况可能是什么,解决方法是什么?
编辑:如果图表与上面的图表一样,但缺少其android:id
属性且未包含在 中BottomNavigationView
,则错误更改为Caused by: java.lang.IllegalStateException: unknown destination during deep link: 0
(第 3 行)
EDIT2:上面的场景,但是图这次有一个ID,没有在任何BottomNavigationView中使用。错误变为Caused by: java.lang.IllegalStateException: unknown destination during deep link: test.ourapp.app:id/messages