android - 使用 "clear all"禁用关闭通知,但仍然可以滑动?

标签 android notifications

是否可以允许用户通过滑动来关闭通知,但不允许使用“全部清除”按钮来关闭通知?

我已经在 SO 和网络上搜索了解决方案,但几乎每个问题和答案似乎都与使用 setOngoing() 方法或设置 FLAG_NO_CLEAR。这些解决方案可防止用户使用滑动手势关闭通知。

我找到的最接近的答案是 this one

我无法使用“touch”或“click”事件(这会触发 ContentIntent),因为该 Intent 在我的应用中执行的操作与 DeleteIntent 不同。

我更喜欢干净的 API 调用(即像 setNoClearAll(true) 或类似的东西),但如果有某种方法可以区分我的通知是否使用滑动手势被忽略,我会感到满意或清除所有按钮。这样的事可能吗?

最佳答案

Is it possible to allow a user to dismiss a notification by swiping it, but not allow it to be dismissed using the "Clear All" button?

恐怕这是不可能的。

替代方案

我建议使用自定义通知布局,并在角落添加 [X] 按钮和 setOngoing(true)。您可以将自定义待处理 Intent 分配给按钮。清除所有按钮不会清除通知,也无法将其清除,但用户仍然可以通过方法关闭通知。

从 Android 4 上的媒体样式通知中获取灵感:

Standard notification Expanded notification

关于android - 使用 "clear all"禁用关闭通知,但仍然可以滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38581938/

相关文章:

android - 如果应用程序被杀死,则不会在 MI 手机中收到 GCM 推送通知

android - 如何在 Android 锁定屏幕中显示通知?

android - 我想在我的通知中添加一个大图标,但是当我运行应用程序时,大图标没有显示。下面是我的代码,有什么不对的地方吗?

android - 在 sqlite 中搜索,基于 String 获取描述

android - 在 OpenRTB 出价请求中, "bundle"是应用程序唯一的吗?

android - 如何将样式应用于所有按钮而不是 ImageButtons?

android - 无法解析 PendingIntent.getActivity()

java - Android 更新通知并检测它何时不再存在

javascript - Cordova 与 Phonegap 的插件、支持、文档、更新

java - android - 如何检测正在激活的应用程序