如何知道通知是否已取消?

How to know if an notification has been cancelled?

我的小应用程序发送了一些通知。单击通知时,我们通过 Pendingintent 获得回调。但是,当通知被简单地删除而不被点击时,我不会收到任何类型的通知,因此不知道用户是否删除了通知。

我的最终目标是将我的应用发送的活动通知数量限制在不超过 3 个。但是我一直无法找到一种方法来枚举或简单地获取我的应用发送的活动通知的数量应用程序。 NotificationManager 中可用的方法数量相当有限。

如有任何帮助,我们将不胜感激。

您可以设置一个 PendingIntentsetDeleteIntent() ,当通知从通知托盘中删除时(例如当用户滑动以关闭它时)将被调用。

请注意 notification design guidelines 状态:

If a notification of a certain type is already pending when your app tries to send a new notification of the same type, combine them into a single summary notification for the app. Do not create a new object.

A summary notification builds a summary description and allows the user to understand how many notifications of a particular kind are pending.

即,不要这样做:

执行此操作(此示例使用推荐的 InboxStyle 通知):

确保您没有发布多个相同类型的通知。

方法 "Notification.deleteIntent" 你可以用来设置一个通知被系统删除的 PendingIntent 将被调用。然后你可以做你想做的事情。