首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解除UserNotificationsUI - UNNotificationContentExtensionResponseOption

解除UserNotificationsUI - UNNotificationContentExtensionResponseOption
EN

Stack Overflow用户
提问于 2018-02-15 13:11:43
回答 2查看 741关注 0票数 2

我正在设置多个本地通知,并且我已经设置了通知的操作数量。比如打瞌睡,表演,关门。

代码语言:javascript
复制
    func didReceive(_ response: UNNotificationResponse, completionHandler completion:  @escaping (UNNotificationContentExtensionResponseOption) -> Void) {


    let id = response.notification.request.identifier

       if response.actionIdentifier == "SnoozeId" {
        completion(UNNotificationContentExtensionResponseOption.dismiss)

           }}

在didReceive上-如果操作是snooze -执行snooze,然后我关闭通知虚构。由于我驳回了所有其他通知,通知中心已经不再发送了。如果我有两个通知A和B。如果我长按并在A上打瞌睡。A和B都离开了通知中心。它应该只驳回A。

EN

回答 2

Stack Overflow用户

发布于 2019-07-08 02:55:36

以下是使用我的应用程序进行测试的结果。

为了更好地回答您的问题,请提供更多信息,例如-通知的json及其userInfo (可能您正在对通知进行分组并立即将其全部清除?)以及您调用的哪个函数会导致调用didReceive(...)。

如果你调用

代码语言:javascript
复制
self.extensionContext?.dismissNotificationContentExtension()

然后,它关闭内容扩展,但不会将其清除。

如果你打电话给:

代码语言:javascript
复制
self.extensionContext?.performNotificationDefaultAction()

然后,它完成该操作并取消该单个通知(而不是其他通知)。但是,这会打开应用程序,而您可能不想这样做。

我的代理设置如下:

代码语言:javascript
复制
func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {

    switch response.actionIdentifier {
    case UNNotificationDismissActionIdentifier:
        // Dismiss action stuff.
        completion(.dismiss)
        // To not dismiss
        // completion(.doNotDismiss)
    case UNNotificationDefaultActionIdentifier:
        // Default action stuff.
        // Let's say the user executed default action, we want to dismiss and forward the action.
        completion(.dismissAndForwardAction)
        break
    default:
        break
    }
}
票数 2
EN

Stack Overflow用户

发布于 2018-02-15 19:51:51

Tia可能会帮助你it was answered a while ago,只要它在objective C中得到了答案。我想你会想要查看的答案是将通知存储在一个可变的数组中,并在必要时从数组中删除通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48800313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档