FCM Cannot show pop up when app in the background(当应用程序在后台时,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 无法显示弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:当应用程序在后台时,FCM 无法显示弹出窗口
基础教程推荐
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
