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

onMessageReceived(RemoteMessage RemoteMessage)在应用程序处于后台或被终止时未调用

冯皓
2023-03-14

onMessageReceived(RemoteMessage RemoteMessage)在应用程序处于后台时未调用或仅显示{“body”:“test”,“title”:“test notification}之类的json字符串

共有1个答案

於子晋
2023-03-14

onMessageReceived()当应用程序处于后台或被杀死模式时,fcm的这个方法不会触发。在这种情况下,系统通知托盘将生成通知。这里是你可以看到更详细的链接。单据

 类似资料:
  • 我正在使用Firebase,并测试在应用程序处于后台时从服务器向应用程序发送通知。通知发送成功,它甚至出现在设备的通知中心上,但是当通知出现或者即使我单击它,我的FCMessagingService中的onMessageReceived方法也从未被调用。 当我在应用程序处于前台时进行测试时,调用了onMessageReceived方法,所有工作都很好。该问题发生在应用程序在后台运行时。 这是有意为

  • 我试图完成的是解析来自Remotemessage的传入数据,并根据自定义标记对其进行不同的处理。例如,如果数据映射包含一个名为“my_custom_tag”的字段,我希望完全覆盖弹出的标准firebase消息并编写一个自定义消息。 问题是,当应用程序在后台运行时,我放入onMessageReceived的任何代码都不会被触发。当应用程序在前台运行时,它工作得很好,但如果应用程序在后台,它将不会检测

  • 我清楚地阅读了很多关于firebase推送通知行为的文档。当我的应用程序位于后台时,我可以在系统托盘上看到通知,但当应用程序位于前台时,不会触发“收到消息时”的回调。我可以看到我的应用程序上收到消息的日志。我试着用数据负载和没有数据负载的应用服务器进行通话。我的应用服务器正在使用php脚本来触发fcm API。下面是我正在使用的php脚本 以下是我在我的Android应用程序中使用的服务

  • 根据文件: 如果希望前台应用程序接收通知消息或数据消息,则需要编写代码来处理onMessageReceived回调。 null 我是不是漏掉了什么?不应该是同一个服务处理应用程序的两个应用程序状态来接收消息吗?我不想在app已经打开时显示系统栏通知,但我确实想改变UI中的一些元素,以指示用户他们在聊天中有新消息。 代码如下: 服务:

  • 我创建了一个自定义后台服务,它正在扩展IntentService。当我的应用程序进入后台时,我会调用这个类。startService()。Firsly onStartCommand在我返回START_STICKY的地方被调用(就像我读过一些其他帖子,以保持我的服务处于活动状态,并在由于内存不足而被终止时根据需要重新创建)。在那之后,我将实现onHandleIntent(intent)方法,从调用者