根据specification , .setDeleteIntent(pendingIntent)
与两个操作相关联(清除通知栏中的所有事件和滑动等用户操作)。
我的要求是,当用户触摸出现在通知栏上的通知时,他必须被转发到NotificationsList.class
。这是通过我的 pendingInent 完成的:
PendingIntent sendPendingIntent = PendingIntent.getActivity(context, reminderId, new Intent(context, NotificationsList.class), PendingIntent.FLAG_UPDATE_CURRENT);
但是,在单击 CLEAR 按钮时,用户绝不能被导航到该应用程序。使用 .setDeleteIntent(pendingIndent)
我无法满足第二个要求。用户仍然导航到 NotificationsList.class。
有没有办法以编程方式区分从 CLEAR 按钮触发的所有 CLEAR
通知事件与用户操作(例如在通知栏上的特定通知上触摸或滑动)?
最佳答案
您所描述的是非常迟钝的行为。您只需将待定 Intent 设置为您的通知,当它被点击时,支持它的 Intent 将被执行。
如果您的代码在清除通知后将用户引导回应用,那么您的设计已经存在问题。如果用户清除了您的通知,您不应该尝试将它们导航回来。因此,setDeleteIntent()
不应与开始任何 Activity 相关联。
请注意,当您单击通知 (setContentIntent())
和清除 (setDeleteIntent())
通知时支持的 Intent 基本上是两个 PendingIntents,它们应该不一样,这就是你的问题所描述的。
关于Android:如何区分清除通知栏中的所有事件和用户操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39206275/