14

使用导航组件的深层链接时如何重新创建 singleTop 行为?

我正在使用 Jetpack Navigation,目前正在尝试实现通知点击。其中一个片段用于播放音乐。当您将应用程序设置为后台时,会显示一条通知并继续播放音乐。当我单击通知时,我想返回播放片段。我想模仿singleTop行为。

为了处理通知点击,我使用了一个明确的深层链接(PendingIntent带有导航图):

val pendingIntent = NavDeepLinkBuilder(context)
    .setGraph(R.navigation.nav_graph)
    .setDestination(R.id.music)
    .setArguments(...)
    .createPendingIntent()

不幸的是,它清除了任务返回堆栈并将其替换为深层链接目标。如何防止这种行为?我知道有,NavOptions#shouldLaunchSingleTop但我看不到将它与PendingIntentand一起使用的方法NavDeepLinkBuilder。是否可以使用 NavOptions 启动深度链接?

4

0 回答 0