gpt4 book ai didi

android - 应用程序在前台时收到的推送通知与应用程序在后台时收到的推送通知不同

转载 作者:行者123 更新时间:2023-11-29 14:34:49 25 4
gpt4 key购买 nike

我已经在 Android 应用中实现了 FCM 推送通知。

当我登录到应用程序时。我收到的通知格式如下所示。

enter image description here

当应用程序在后台运行时,我会收到如下所示的 json 响应。

enter image description here

以下是我在onMessageRecieved()中添加的代码

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setContentTitle("App")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentIntent(pendingIntent)
.setStyle(new NotificationCompat.BigPictureStyle()
.bigPicture(bitmap))/*Notification with Image*/;

如何在两种情况下以相同的方式获取通知。

如果有任何帮助,我们将不胜感激

最佳答案

在 Android 应用程序中设置 FCM 后,您可以使用 Firebase 控制台发送通知。当前台应用程序收到通知时,将调用 onMessageReceived 方法。您应该覆盖此方法来处理通知,但问题是当应用程序在后台接收通知时,通知会传送到设备的系统托盘,您无法使用 onMessageReceived 方法处理通知。当用户点击通知时,默认情况下会打开应用程序启动器。例如,考虑到你想在收到用户通知时执行特定任务,或者在用户没有意识到的情况下在后台执行某些操作,或者不想向用户显示通知对话框,你不能在应用程序运行时执行这些操作背景。

消息类型

使用 FCM,您可以向客户端发送两种类型的消息:

1-通知消息,有时会想到“显示消息”

2- 数据消息,由客户端应用程序处理

根据 Google 文档,通知消息有 2KB 的限制和预定义的用户可见键。数据消息允许开发人员发送最多 4KB 的自定义键值对。

解决方案:

如果您想在应用程序后台处理通知,您应该发送数据消息并使用 onMessageReceived 方法。

Here is the complete article.

关于android - 应用程序在前台时收到的推送通知与应用程序在后台时收到的推送通知不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50854511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com