如何从通知导航到片段?安卓科特林

nir*_*rma 2 android android-notifications kotlin firebase-cloud-messaging

收到通知后,我想打开我的应用程序并导航到详细信息片段,因为我正在使用 jetpack 中的导航组件,但我不知道如何实现它?

这是我的通知服务代码

val intent = Intent(this, DetailedFragment::class.java) 

    val builder = NotificationCompat.Builder(this, "100")
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle(rm.data["title"])
        .setContentText(rm.data["body"])
        .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
        .setCustomContentView(nmrv)
        .setCustomBigContentView(exrv)
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setStyle(NotificationCompat.DecoratedCustomViewStyle())

    val manager = NotificationManagerCompat.from(this).notify(100, builder.build())
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 5

根据文档

显式深层链接是深层链接的单个实例,它使用PendingIntent将用户带到应用程序中的特定位置。例如,您可以将显式深层链接作为通知或应用程序小部件的一部分。

您可以使用该类NavDeepLinkBuilder来构造一个PendingIntent

val pendingIntent = NavDeepLinkBuilder(context)
    .setGraph(R.navigation.nav_graph)
    .setDestination(R.id.android)
    .setArguments(args)
    .createPendingIntent()
Run Code Online (Sandbox Code Playgroud)

这样PendingIntent,您可以使用以下方法将其附加到您的通知中setContentIntent()

builder.setContentIntent(pendingIntent)
Run Code Online (Sandbox Code Playgroud)