在后台未收到Android Firebase推送通知?

时间:2020-04-20 03:38:21

标签: java android firebase push-notification

当我的应用处于打开状态时,我通过onMessageReceived(Remotemessage mesg)得到了推送通知。如果我的应用处于终止状态,我会收到推送通知,但不是从onMessageReceived()获得。

表示在收到推送通知后,根据通知中的数据,在点击通知时,我需要重定向页面。如果应用程序在前台工作正常。当我杀死时,我在托盘上收到通知,但是当我点击通知时,它只会打开我的应用程序,而不会打开该重定向页面。我把日志,并检查,甚至没有调用onMessageReceived。但是在托盘上收到通知。我搜索了很多东西。找不到问题。 后端有效负载低于

  "to": "f2dFWIn81FY:APA91bGumzp0LRr4hvGqUb9WMOvmWqvHSqYcCBzTJlbJs2dmpfrv_tAdu",
  "priority": "high",
  "content_available": true,
  "Type": "Order",
  "notification": {
     "body": "Your [2224531] order is rejected",
     "title": "Order",
     "sound": "default"
  },
  "data": {
     "Title": "Your [2224531] order is rejected",
     "NotificationId": "efb46a45-cd9c-4cf7-881f-9510c24555a6"
  }
}

我正在尝试在MainActivity.java中获取数据,但捆绑商品为空!

Image of MainActivity

1 个答案:

答案 0 :(得分:0)

这按预期工作。如果应用处于后台/关闭状态,则不会调用onMessageReceived。消息中指定的数据应该像这样可用:

if (intent?.hasExtra("NotificationId") == true) {
    val id = intent?.extras?.getString("NotificationId")?.toString())                    
}

在您的onCreate启动活动中,如果通过消息打开了应用,请单击“意图”。