setShowBadge(false) 失败的原因是什么?

What can be the reason behind the failure of setShowBadge(false)?

我正在为 background task 发布一个 notification 并把它带到 foregroundstartForeground 和一个可见的 ongoing notification。当它完成时,我用 cancellable 通知替换它,使用相同的 notification id 和我用 setShowBadge(false).

创建的相同频道

场景正常工作:它不显示正在进行的任务的徽章,并且已成功替换为 non-ongoing 版本。除了,setShowBadge(false) 在我将它用于可取消通知时不起作用。

我检查了官方示例和很多例子,我也检查了我的代码,我没有发现任何问题。所以,这里一定有特殊情况。可能是什么问题?我可能在这里遗漏了什么?

这取决于使用的默认启动器。 Stock 启动器将按预期工作,但一些启动器有自己的通知徽章实现,并且他们在正式支持徽章之前就一直在使用它。对于那些启动器,此标志将不起作用。

即使启动器使用来自频道的通知徽章,他们也可能不关心这个标志(就像你的情况一样)。我会说尝试调用 setNumber(0) 并希望它有效。

 mNotificationBuilder.setNumber(0)