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

2023-07-28移动开发问题
1

本文介绍了当应用程序在后台时,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 无法显示弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何在 COCOS2d Android 中使用 CClistview?
How can I use CClistview in COCOS2d Android?(如何在 COCOS2d Android 中使用 CClistview?)...
2024-08-12 移动开发问题
5

cocos2d-android:如何显示分数
cocos2d-android: how to display score(cocos2d-android:如何显示分数)...
2024-08-11 移动开发问题
7

Sqlite 数据库未从资产文件夹 Android 复制
Sqlite database not copied from asset folder Android(Sqlite 数据库未从资产文件夹 Android 复制)...
2024-04-15 移动开发问题
8

SQLite 数据库副本在由设备而不是模拟器生成时出现损坏
SQLite Database Copy Appears Corrupted When Generated by Device and not Emulator(SQLite 数据库副本在由设备而不是模拟器生成时出现损坏)...
2024-04-15 移动开发问题
4

安卓文件拷贝
Android file copy(安卓文件拷贝)...
2024-04-15 移动开发问题
6

Android如何在android中检测Edittext的Copy事件
Android how to detect Copy event of Edittext in android(Android如何在android中检测Edittext的Copy事件)...
2024-04-15 移动开发问题
5