当前位置: 首页 > 知识库问答 >
问题:

如何处理Android FCM消息时,应用程序在后台的数据有效负载?[副本]

邓威
2023-03-14
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);

当应用程序位于后台时,不调用此方法。任何帮助对我都是很大的帮助。

共有1个答案

宇文飞翮
2023-03-14

如果您总是从服务器接收作为“数据”的有效负载,那么将始终调用onMessageReceived()。

示例:来自服务器的有效负载应如下所示:

{
 "data":{
 "id": 1,
 "missedRequests": 5
 "addAnyDataHere": 123
 },
 "to":"fhiT7evmZk8:APA91bFJq7Tkly4BtLRXdYvqHno2vHCRkzpJT8QZy0TlIGs......"
}

有关此问题的更多信息。请参考以下URL:Firebase onMessageReceived在后台应用程序时未调用

 类似资料:
  • 我正在尝试让我的应用程序处理数据负载,而它是在后台。 根据“在后台应用程序中处理通知消息”一节下的文档 ..数据有效载荷将在发射器活动意图的附加部分中交付。

  • 我尝试从fcm消息中获取有效载荷数据,而我的应用程序在后台。所以我读了这篇文档,他们说,我可以从我的launcher活动中获得意图的附加数据,因为如果您默认点击通知,您的launcher活动将打开。 我通过firebase控制台发送消息,然后我的应用程序处于前台,我可以通过onMessageReceived()方法处理所有这些。 这是我的代码来实现这一点,但意向性附加是空的…

  • 问题内容: 我想在后台线程中运行一些Runnable。我想使用Handler,因为它便于延迟。我的意思是 凡 可运行 应当运行 后台 线程。是否可以创建这样的处理程序?是否在某个地方有“背景” Looper,或者该如何创建? PS我知道如何使用自定义类扩展Thread,但是比处理程序方式需要更多的编码工作。因此,请不要发布其他解决方案或类似的内容 如果Handler能以“干净”的方式做到这一点,我

  • 我想在后台线程中运行一些Runnable。我想使用Handler,因为它方便延迟。我的意思是 runnable应该在后台线程中运行。有可能创造这样的处理器吗?某个地方有没有“背景”Looper或者我怎么才能创建它? 附言:我知道如何使用自定义类扩展Thread来做到这一点,但它需要更多的编码工作,而不是以处理程序的方式进行。因此,请不要发布其他解决方案或类似内容 我只是想知道汉德勒是否能以“干净”

  • 我可能已经阅读了所有其他与此相关的SO线程,但我找不到答案,而且在Android监视器中也没有日志跟踪。有人对此有提示吗?

  • 我知道以下几点。1.当应用程序是前景时,FCM有效负载会出现在onMessageReceived()中。2.当应用程序处于后台时,有效负载会出现在意向性附加项中。但仅当用户单击通知时。如果用户直接在app中跳转而不与通知互动怎么办?如何处理该场景中的有效负载。 我发送的有效载荷。 onMessageReceived()实现。