通知示例仅显示在 Android 上收到的最后一个

Posted

技术标签:

【中文标题】通知示例仅显示在 Android 上收到的最后一个【英文标题】:Notifications sample only showing the last received on Android 【发布时间】:2014-10-09 13:59:08 【问题描述】:

我正在运行 Worklight 的通知示例。我调用适配器向应用程序发送通知,它将通知完美地显示在顶部栏中。

但是当我发送另一个通知时,它不会与前一个叠加,它会覆盖新的。

而且我不希望它被覆盖。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

这是 Worklight 当前(默认情况下)施加的限制。

本质上,在 Worklight 中,内部有一个 GCMIntentService 类,用于侦听接收到的通知,如果接收到,则创建一个具有静态 ID 的对象并将其发送到操作系统。每次收到通知都会重复此操作,替换之前收到的通知。

你可以做的是:

    提交功能请求以供 Worklight 的产品设计师评估:http://www.ibm.com/developerworks/rfe/

    在您的项目中,android\native\src\com\app-name\GCMIntentService.java 中有一个空类。您可以尝试做的基本上是根据 Google 的文档实现您自己的“推送机制”,以显示所有通知,而不仅仅是最后收到的通知,而不是像当前在 Worklight 中实现的那样使用静态 id。

【讨论】:

【参考方案2】:

您需要在客户端中设置不同的通知 ID。例如,在通知管理器中使用时间戳创建通知 id。

【讨论】:

如何管理通知ID?我拥有的唯一参数是 userId 和 NotificationText。 您需要实现自己的机制来处理推送通知 老兄,这正是我在回答中更详细地写的......并且与用户使用的产品直接相关。

以上是关于通知示例仅显示在 Android 上收到的最后一个的主要内容,如果未能解决你的问题,请参考以下文章

从 android gcm 只收到最后的通知...?

显示最后一个通知推送,我需要显示所有通知推送

收到推送通知时不显示横幅仅振动设备

Firebase Messaging Unity 插件仅在前台显示通知

未收到 Flutter FCM IOS 静默(仅数据)通知

android firebase后台通知仅在vivo设备上不起作用