我无法将价值从推送通知传递给活动
我使用Firebase Messaging Service进行推送通知。但是我无法使用PendingIntent将价值传递给活动。
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())
MainActivity
val Y = intent.getStringExtra("key")
Log.i(C.T, "CHECHE = "+Y)
在单击推送通知MainActivity之后,但是intent.getStringExtra(“ key”)始终等于null。
哪里有错?
答案 0 :(得分:1)
尝试使用一些标志,例如,使用 FLAG_ONE_SHOT 和 FLAG_CANCEL_CURRENT 表示 PendingIntent 只能使用一次,并且如果所述< strong> PendingIntent 已经存在,应在生成新的前取消当前的:
val contentIntent = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);