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

当应用程序在后台时,FCM无法显示弹出

凌俊材
2023-03-14

如果fcm消息包含“通知”部分,而应用程序在后台,则通知传递到系统托盘和数据中的附加意图。

问题是,我无法更改该通知的重要性,而且它们总是不显示弹出窗口。我为API26+修复了这个问题,我添加了通知通道

int importance = NotificationManager.IMPORTANCE_HIGH;
        NotificationChannel channel = new NotificationChannel(getString(R.string.default_notification_channel_id), name, importance);
<meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="@string/default_notification_channel_id"/>

但对于API25-我找不到解决方案。一个建议是删除“notification”部分,只保留“data”,这将允许fcm将消息传递到

onMessageReceived(RemoteMessage remoteMessage)

当应用程序在后台/前台,我将能够显示我的自定义通知。

共有1个答案

慕容越泽
2023-03-14

我发现的最佳解决方案是仅使用data负载,在OnMessageReceived方法中处理后台/前台消息,并显示自定义通知。

 类似资料:
  • null 而当app在后台时,系统托盘总是显示一个到达一个重复的通知(如收到通知a,系统托盘显示2个通知a)。 怎么解决这个问题? 编辑:添加的代码 我扩展了 类,并在 方法中包含该类 这是项目中我使用NotificationManager的唯一部分。 另外,我尝试在这个方法上添加一个日志。当应用程序处于前台时调用onMessageReceived。当应用程序在后台时,它不会被调用

  • 我想为一个聊天应用程序实现FCM推送通知服务,我遵循Firebase文档中的步骤,当通知从Firebase控制台发送到我的设备时,我会得到通知。当我尝试使用http post to https://FCM.googleapis.com/FCM/send通过FCM将通知通过服务器端发送到设备时: 当应用程序处于活动状态并且我正在将此通知发送到我的设备时,Im在我的控制台日志中收到以下消息,所以我认为

  • FCM服务。NotificationDatabaseHandler是帮助器类。正在保存邮件标题和当前时间。

  • 我正在使用FCM推送通知。当应用程序处于前台时,应用程序运行良好,并打算启动新活动,但当应用程序处于后台时,它不启动新活动,而是启动默认活动的实例。 }

  • 我正在处理FCM通知。当应用程序在后台时,我的通知工作正常,但当应用程序在前台时,我的通知无法接收。我几乎什么都试过了,但都不奏效。当应用程序处于前台时,不会收到通知。 manifest.xml: 代码(FirebaseMessagingService):

  • 当应用程序处于前台时,我可以成功地接收带有图像的通知和数据消息。 当应用程序在后台/kill时,onMessageReceed(message)没有调用,所以我使用getIntent(),我得到了数据,但当应用程序在后台时,android os会使用系统托盘自动显示通知,但图像无法显示。 所以我的问题是用图像显示通知文本? 我使用django api发送通知和发送的数据如下所示 下面是我的onMe