Android:仅在未通过“全部清除”按钮触摸时删除通知

时间:2015-02-23 16:52:52

标签: java android notifications

我的应用程序会创建一些通知,并通过PendingIntents的帮助将您带到一个特殊的活动。这一切都很好,我唯一的问题是我希望只有当用户触摸时才会删除通知,而不是当用户使用“全部清除”按钮(通知栏顶部的X)时。

在片刻我正在使用

setAutoCancel(true);

方法。它会在用户触摸时删除通知,但也会在按下“清除ALl”按钮时删除。我的问题现在是,如果有任何方式我可以通过“全部清除”按钮来抑制通知被删除。

如果您想知道为什么我想要这个,我创建了一个应用程序,允许您使用通知作为一种提醒。 “清除按钮”在此处很烦人,因为它会删除所有提醒通知。

帮助的Thx,如果你想要任何额外的代码,只需写下来。

1 个答案:

答案 0 :(得分:3)

您可以通过将通知设置为正在进行,然后在PendingIntent触发时取消它来完成此操作。

  

用户不能拒绝正在进行的通知,因此您的应用程序或服务必须负责取消它们。

假设您使用Notification.Builder创建通知,只需在调用build()之前添加以下行。

.setOngoing(true)

如果您要删除通知,请使用发布通知时使用的相同ID在cancel()服务上拨打NotificationManager