android - 以编程方式取消子通知时,通知组的摘要不会自动关闭
问题描述
我最近一直在为通知而苦苦挣扎。
点击后通知可以很容易地被关闭使用
notificationBuilder.setAutoCancel(true);
对这些单独的通知进行分组需要汇总通知。只要存在子通知,摘要通知就不会按原样显示(例如,标题、文本和操作被忽略)。当所有内容都被单独解除后,将完全显示摘要通知及其文本和操作。这感觉很奇怪:为什么我们在单独查看所有通知之后需要摘要?谁知道......无论如何,我们可以摆脱这种意想不到的行为使用
summaryNotificationBuilder.setAutoCancel(true);
现在,当他们的操作被点击时,通知不会自动关闭,即使notificationBuilder.setAutoCancel(true)
已被调用。如如何在单击操作后关闭通知中所述,我们需要跟踪显示通知时提供的唯一 ID
notificationManager.notify(uniqueNotificationId, notificationBuilder.build());
从接收活动或广播接收器,我们会调用
notificationManager.cancel(uniqueNotificationId);
老实说:这太可怕了……但这似乎是要走的路。我一直无法找到任何好的替代方案。现在,像前面所说的那样关闭通知似乎会干扰summaryNotificationBuilder.setAutoCancel(true)
. 当我通过单击或滑动它们单独关闭所有子通知时,摘要通知将自动取消。但是,当我从其中任何一个触发动作时(从而触发创建Intent
传递 extra的机制uniqueNotificationId
,然后NotificationManagerCompat.from(context).cancel(uniqueNotificationId)
从接收活动或广播接收器调用,那么即使使用了摘要通知,也不会自动取消summaryNotificationBuilder.setAutoCancel(true)
。
关于如何解决这个问题的任何想法?
例如,我没有找到一种方法来以编程方式确定仍有多少子通知可见,以便手动关闭摘要通知。编辑:实际上,现在我正试图无条件地关闭摘要通知......但没有成功。
解决方案
推荐阅读
- python-3.x - Manim SquareToCircle 示例场景呈现空白视频
- java - 如何仅显示存储在房间数据库中的特定年份的日期?
- javascript - Bootstrap 4 Tabs Fade 在 N+1 Tabs 上产生额外空间
- python - 将值的顺序索引减少到python中每个值的一组顺序范围的最快方法
- c# - 如何将此 c# 代码移植到 f# 以处理 SFML 事件
- flutter - 如何在颤动中获取内部下载文件夹的路径
- javascript - 谷歌图表 - 程序化滑块不断将两个值放在左边
- python - 如何整天定义CustomBusinessHour?
- python - Apache2&Django - NameError:未定义名称“AttributeError”
- docker - Docker compose 更改默认环境变量文件