我的应用程序会创建一些通知,并通过PendingIntents的帮助将您带到一个特殊的活动。这一切都很好,我唯一的问题是我希望只有当用户触摸时才会删除通知,而不是当用户使用“全部清除”按钮(通知栏顶部的X)时。
在片刻我正在使用
setAutoCancel(true);
方法。它会在用户触摸时删除通知,但也会在按下“清除ALl”按钮时删除。我的问题现在是,如果有任何方式我可以通过“全部清除”按钮来抑制通知被删除。
如果您想知道为什么我想要这个,我创建了一个应用程序,允许您使用通知作为一种提醒。 “清除按钮”在此处很烦人,因为它会删除所有提醒通知。
帮助的Thx,如果你想要任何额外的代码,只需写下来。
答案 0 :(得分:3)
您可以通过将通知设置为正在进行,然后在PendingIntent触发时取消它来完成此操作。
用户不能拒绝正在进行的通知,因此您的应用程序或服务必须负责取消它们。
假设您使用Notification.Builder
创建通知,只需在调用build()
之前添加以下行。
.setOngoing(true)
如果您要删除通知,请使用发布通知时使用的相同ID在cancel()
服务上拨打NotificationManager
。