代码之家  ›  专栏  ›  技术社区  ›  Yevgen

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

  •  0
  • Yevgen  · 技术社区  · 6 年前

    我可以将值从推送通知传递到活动

    我使用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”)始终等于空。

    哪里出错了?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sergio    6 年前

    尝试使用一些标志,例如使用 旗舰射击 标记“取消”当前 以表明 处理意图 只能使用一次,如果 处理意图 已经存在,在生成新的之前应取消当前的:

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