【问题标题】:Android: Delete Notification only when touched not throuch "clear all" ButtonAndroid:仅在触摸时删除通知,而不是通过“全部清除”按钮
【发布时间】:2015-02-23 16:52:51
【问题描述】:

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

目前我正在使用

setAutoCancel(true);

方法。当用户触摸它时,它会删除通知,当按下“清除所有”按钮时也会删除它。我现在的问题是,是否有任何方法可以抑制“全部清除”按钮删除的通知。

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

感谢帮助,如果您需要任何其他代码,只需编写它。

【问题讨论】:

    标签: java android notifications


    【解决方案1】:

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

    用户不能关闭正在进行的通知,因此您的应用程序或服务必须注意取消它们。

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

    .setOngoing(true)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 1970-01-01
      相关资源
      最近更新 更多