不将推送通知的值传递给 Activity
Not pass value from push notification to Activity
我无法将推送通知的值传递给 activity
我使用 Firebase 消息服务进行推送通知。但是我无法使用 PendingIntent 将值传递给 activity。
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") 始终为空。
哪里出错了?
尝试使用一些标志,例如使用FLAG_ONE_SHOT和FLAG_CANCEL_CURRENT来表示PendingIntent只能使用一次,如果描述的PendingIntent已经存在,在生成新的之前应该取消当前的:
val contentIntent = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);
我无法将推送通知的值传递给 activity
我使用 Firebase 消息服务进行推送通知。但是我无法使用 PendingIntent 将值传递给 activity。
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") 始终为空。
哪里出错了?
尝试使用一些标志,例如使用FLAG_ONE_SHOT和FLAG_CANCEL_CURRENT来表示PendingIntent只能使用一次,如果描述的PendingIntent已经存在,在生成新的之前应该取消当前的:
val contentIntent = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);