不将值从推送通知传递到活动



>我无法将值从推送通知传递到活动

我使用 Firebase 消息服务推送通知。但我无法使用挂起意图将值传递给活动。

MyFirebaseMessagingService

val intent = Intent(this, MainActivity::class.java)
    intent.putExtra("key", "value")
    val contentIntent = PendingIntent.getActivity(
            this, 0, intent, 0)
    notificationBuilder.setAutoCancel(true)
            .setDefaults(Notification.DEFAULT_ALL)
            .setWhen(System.currentTimeMillis())
            .setSmallIcon(R.drawable.sa_logo_mini)
            .setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.sa_icon_big))
            .setContentTitle(title)
            .setContentText(content)
            .setContentIntent(contentIntent)
            .setContentInfo("Breaking")
    notificationManager.notify(1, notificationBuilder.build())

主活动

    val Y = intent.getStringExtra("key")
    Log.i(C.T, "CHECHE = "+Y)

点击推送通知后,MainActivity 开始,但 intent.getStringExtra("key") 总是等于 null。

哪里有错误?

尝试使用一些标志,例如使用 FLAG_ONE_SHOTFLAG_CANCEL_CURRENT 来指示 PendingIntent 只能使用一次,如果所描述的 PendingIntent 已经存在,则应在生成新 PendingIntent 之前取消当前标志:

val contentIntent = PendingIntent.getActivity(this, 0, 
    intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);

相关内容

  • 没有找到相关文章

最新更新