Android 如果应用程序关闭,如何获取Firebase pushmessage FCM

Android 如果应用程序关闭,如何获取Firebase pushmessage FCM,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,我想在我的应用程序中添加推送云消息。我加上manifect: <service android:name=".firebase.MyFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" />

我想在我的应用程序中添加推送云消息。我加上manifect:

<service
        android:name=".firebase.MyFirebaseMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
</service>
Logcat输出:

Key: google.delivered_priority Value: high
Key: google.sent_time Value: 1574665753356
Key: google.ttl Value: 2419200
Key: google.original_priority Value: high
Key: from Value: 69200725691
Key: google.message_id Value: 0:1574665753390474%7139185571391855
Key: collapse_key Value: ru.ittest.freezio_senser
为什么我没有收到远程消息?如何使用此密钥获取RemoteMessage

{
"notification":{"title":"YOUR TITLE","body":"YOUR BODY"},
 "to": "your device token",
 "data":{
 "project_type": "Remodel",
 "name": "Start 45 "
     }
 }
您的通知响应如下所示。如果您的通知响应包含此通知标签
“通知”:{“标题”:“您的标题”,“正文”:“您的正文”},
然后,若应用程序正在运行,那个么onMessageReceived方法将调用,或者若应用程序被终止,那个么onMessageReceived方法将不调用。要解决此问题,您必须从通知响应中
“通知”:{“标题”:“您的标题”,“正文”:“您的正文”},

您希望在单击通知时打开特定的活动。 在清单中的活动标记中添加此代码

并替换onMessageReceived中通知代码中的意图
val intent=intent(“通知活动”)

在悬而未决的事件中传递这一意图
val pendingent=pendingent.getActivity(this,101,intent,pendingent.FLAG\u UPDATE\u CURRENT)
我发现Decision for it存在问题

  • 感谢Arthur Thompson:“当用户点击通知时,标题正文和图像不可用。如果您想要获取该数据,则必须将其添加到您发送的消息的“数据”有效负载中。”

  • 在firebase控制台中添加有效负载:

  • 现在在MainActivity中收到的信息如下:

    Bundle bungle=getIntent().getExtras(); if(bungle!=null){ 对象标题=bungle.get(“标题”); .... }


  • 我要求不要。在文档中-我可以看到:“通知:系统托盘数据:在额外的意图。”但真正的附加值是:Key:google.delivered\u优先级值:high-Key:google.sent\u时间值:157466753356 Key:google.ttl值:2419200 Key:google.original\u优先级值:high-Key:from-Value:69200725691 Key:google.message\u id值:0:15746665753390474%7139185571391855 Key:collapse\u键值:ru.ittest.freezio\u senser消息在哪里标题、正文、图像URI?我怎么能看到它使用额外的?我看-。在本文和google文档getIntent().getExtras()->get body key中,“//包必须包含在通知的“数据”字段中发送的所有信息”。但事实上,这是真的。您已经在onMessageReceived方法中动态存储了该数据。
    {
    "notification":{"title":"YOUR TITLE","body":"YOUR BODY"},
     "to": "your device token",
     "data":{
     "project_type": "Remodel",
     "name": "Start 45 "
         }
     }