我可以将值从推送通知传递到活动
我使用FireBase消息服务进行推送通知。但我可以使用PendingContent将值传递给活动。
MyFireBase消息处理服务
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”)始终等于空。
哪里出错了?
尝试使用一些标志,例如使用 旗舰射击 和 标记“取消”当前 以表明 处理意图 只能使用一次,如果 处理意图 已经存在,在生成新的之前应取消当前的:
val contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);