当前位置: 首页 > 知识库问答 >
问题:

Android:如何从通知栏和用户操作中区分清楚所有事件

梅飞宇
2023-03-14
PendingIntent sendPendingIntent = PendingIntent.getActivity(context, reminderId, new Intent(context, NotificationsList.class), PendingIntent.FLAG_UPDATE_CURRENT);

但是,单击CLEAR按钮时,用户完全不能导航到应用程序。使用.SetDeleteIntent(pendingIndent),我无法满足第二个要求。用户仍然导航到NotificationsList.class。

是否有一种方法以编程方式将从“清除”按钮激发的CLEAR所有通知事件与用户操作(如在通知栏上的特定通知上触摸或滑动)区分开来?

共有1个答案

景建业
2023-03-14

你所描述的是非常迟钝的行为。您只需要将挂起的意图设置为您的通知,当它被单击时,支持它的意图将被执行。

如果您的代码在清除通知时将用户导航回应用程序,那么您的设计就已经有问题了。如果用户清除了您的通知,您就不应该尝试将它们导航回来。因此,setDeleteIntent()不应与启动任何活动相关联。

请注意,当您单击通知(setContentIntent())和清除(setDeleteIntent())通知时所支持的意图基本上是两个PendingIntent,它们不应该是相同的,这正是您的问题所描述的。

 类似资料:
  • 所以我可以安排这样的通知; 我已在中请求权限,并且通知在我使用通知扩展的自定义视图中显示良好。 我已经在中为通知类别添加了通知操作;这些也出现。 我在通知扩展< code >中设置了相同的类别。plist文件。在通知扩展中,当用户点击一个动作时,我用下面的代码来改变文本。 但是,文本没有改变,也没有调用任何语句; 在应用程序中,我有以下内容; 这两个函数实际上也不会在 中调用。我不确定更新扩展视图

  • 我试图理解spark 3中的新特性:动态分区修剪。 看看这个测试: https://github.com/apache/spark/blob/master/sql/core/src/test/scala/org/apache/spark/sql/DynamicPartitionPruningSuite.scala#L257 我不明白为什么它是动态的并且要经典的修剪? 谢谢

  • 我目前正在开发一个应用程序,使用辅助服务来处理通知。尤其令人讨厌的是,第三方应用程序除了启动与通知相关的意图(并启动应用程序)之外,没有办法清除状态栏通知。

  • 问题内容: 试图获得公司名单,但这给了我一个错误。 例外: 我的文件包含: 当我要添加新的工作订单时,select中应该有可用的公司列表。 更新: 这是我的方法 : 问题答案: JSP包含操作返回的选择标记。添加订单时,它应该具有绑定到bean属性的属性。它应该是值堆栈中的一个对象。 在大多数情况下,最好在操作类中初始化该属性,以更好地实现必须编写方法和初始化列表的位置。 因为标签的属性不能为引发

  • 我的目标:使用Google Firebase消息,设置iOS通知操作 引用的资源: 操作通知教程 FCM - 邮件格式 FCM - 含数据的消息格式 FCM - 在 iOS 上处理邮件 iOS - 远程通知有效负载 问题: 我已经浏览了上述资源,但仍然无法弄清楚如何为 iOS 设置类别键,从而启用通知操作。我该怎么做?