以编程方式清除 Android 上的通知而不删除聊天气泡

问题描述

我在开发我的消息应用程序时遇到了 Android 通知问题。 我的应用程序需要清除状态栏上的通知,所以我调用 Notification#cancel(id) 但此功能关闭了与此通知相关的聊天气泡。 我尝试了数百种方法来清除状态栏上的通知并在屏幕上保留气泡但不能

Chat Bubbles relate to Notification

The Notification I want to clear programmatically

这里有人遇到过这个问题并且有解决方案吗?

解决方法

您可以重新发布通知,而不是取消通知,同时在其气泡元数据上调用 setSuppressNotification(true) 并在其构建器上调用 setOnlyAlertOnce(true)。它将保留气泡并删除通知以及气泡徽章和启动器快捷方式徽章(如果有)。

请注意,要使其正常工作,您的应用必须在屏幕上可见。