NavDeepLinkBuilder:与startDestination的深层链接

时间:2019-11-14 08:39:28

标签: android android-architecture-navigation android-deep-link

我们试图实现的是,当用户点击通知时,应该将他/她重定向到某个片段。该目标片段在图中标记为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是在app:startDestination的根navigation标记的R.navigation.destination_graph属性的startDestination属性中指定的片段的ID,也就是该图的起始目标。

如果我们尝试使用它,则会得到以下error。如果我们使用标记为android:id的片段以外的任何其他片段,它将无缝运行。

我们的图表是this

实际情况是什么?有什么解决方法?

编辑:如果图形与上面的图形相同,但是缺少其BottomNavigationView属性,并且不包含在Caused by: java.lang.IllegalStateException: unknown destination during deep link: 0中,则错误更改为Caused by: java.lang.IllegalStateException: unknown destination during deep link: test.ourapp.app:id/messages (第3行)

EDIT2:以上情况,但是该图这次具有ID,并且未在任何BottomNavigationView中使用。错误变为export class AppComponent { name = 'Angular 6'; constructor(){ let user = new User({username: 'abc', password: '1234', token: 1}); console.log(user); } } class User { public username?: string; public password?: string; public token?: number; constructor(values: User) { Object.assign(this, values); } }

0 个答案:

没有答案