当应用程序在后台时,FCM 无法显示弹出窗口 [英] FCM Cannot show pop up when app in the background

查看:20
本文介绍了当应用程序在后台时,FCM 无法显示弹出窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果 fcm 消息包含通知"部分且应用程序在后台,则将通知传递到系统托盘,并在意图的附加内容中提供数据.

If fcm message contains "notification" section and app is in the background, Notifications delivered to the system tray and data in extras of the intent.

问题是我无法更改此通知的重要性,并且它们始终不显示弹出窗口.我为 api 26+ 解决了这个问题,我用

The problem is that I cannot change Importance for this notifications and they always do not show the popup. I fixes this problem for api 26+, i added Notification channel with

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"/>

但是对于 api 25- 我找不到解决方案.一个建议是删除通知"部分并仅保留数据",这将允许 fcm 将消息传递给

But for the api 25- i cannot find the solutions. The one suggestions are to remove "notification" section and leave only "data", this will allow fcm deliver messages to

onMessageReceived(RemoteMessage remoteMessage)

当应用程序处于后台/前台时,我将能够显示我的自定义通知.

when app is in background/foreground and I will be able to show my custom notifications.

推荐答案

我发现的最佳解决方案是仅使用 Data 有效负载并处理 onMessageReceived 中的后台/前台消息方法并显示您的自定义通知.

The best solution i have found is to use only Data payload and handle both background/foreground messages inside onMessageReceivedmethod and show your custom notifications.

这篇关于当应用程序在后台时,FCM 无法显示弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆