Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当后台firebase通知中的应用程序具有有效负载通知时,则远程消息方法调用与否_Android_Firebase_Firebase Notifications - Fatal编程技术网

Android 当后台firebase通知中的应用程序具有有效负载通知时,则远程消息方法调用与否

Android 当后台firebase通知中的应用程序具有有效负载通知时,则远程消息方法调用与否,android,firebase,firebase-notifications,Android,Firebase,Firebase Notifications,我将尝试获取数据时,应用程序在后台这样的格式 { "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark", "icon" : "myicon" }, "data" : { "Nick" : "Mario",

我将尝试获取数据时,应用程序在后台这样的格式

{
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification" : {
      "body" : "great match!",
      "title" : "Portugal vs. Denmark",
      "icon" : "myicon"
    },
    "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   }
}

因此,数据是否通过onMessageReceived(RemoteMessage message)方法传递,我不知道是否有人能帮我解决这个问题。

要在应用程序位于后台时单击通知,您需要通知负载中的
单击操作
属性

请检查Firebase文档的这一部分

此外,当您定义
单击\u action
属性时,还需要相应的
以非常详细的方式对其进行解释

但是,请注意,如果您从Firebase控制台发送通知,则无法设置
单击\u操作
属性。只有当您从自己的管理服务器或使用Firebase云功能发送通知时,才能执行此操作

最后,在启动的活动中,您可以使用数据属性设置附加的
数据
(也显示在我上面链接的同一个文档中)。当您通过单击通知启动应用程序时,您可以使用
getIntent()
获取通知数据。查看更多关于如何做到这一点的详细信息

例如,如果通知负载具有以下结构

payload = {
  notification: {
    title: `You ordered a new product`,
    click_action : 'HANDLE_NOTIFICATION',

  },
  data : {
        product_id : 'ABC98292',
        type : `Clothes`,
        product_name : 'Cotton spring shirt'
    }
};
然后,将筛选器放在单击通知时要打开的活动的标记中。一个例子如下:-

<intent-filter>
    <action android:name="HANDLE_NOTIFICATION" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>


然后,您可以使用
getIntent().getStringsExtra(“产品标识”)
等从通知中获取产品标识


这样,您将打开所需的活动,并可以使用从通知中获得的相关详细信息填充该活动。

如果您使用FCM,则它将在
onMessageReceived(RemoteMessage message)