我正在制作Android应用,我想取消所有带有特定标签的通知。
现在似乎只能通过其ID(int id)或它们的ID和标签来取消通知。
mNotificationManager.cancel(int id);
或
mNotificationManager.cancel(String tag,int id);
我希望能够取消所有String标记的通知,而不管int id。
这可能吗?
答案 0 :(得分:5)
不,不是。设置通知的方式,id是主键。您可以添加带标记的子项,并以此方式取消单个(标记,ID)对,但不能仅基于标记取消。我真的不确定为什么他们添加了一个标签参数,因为它似乎相当冗长,除了可能是一个字符串参数使调试更容易。
答案 1 :(得分:1)
在Android API> = 23上,您可以执行此类操作以删除一组通知。 for(StatusBarNotification statusBarNotification:mNotificationManager.getActiveNotifications()){ if(KEY_MESSAGE_GROUP.equals(statusBarNotification.getGroupKey())){ mNotificationManager.cancel(statusBarNotification.getId()); } }
答案 2 :(得分:1)
如果您使用通知组,似乎可能。取消组摘要通知似乎取消了整个组。