ios - 再次发送通知

标签 ios swift unusernotificationcenter

我使用 UNTimeIntervalNotificationTrigger 通过以下代码向用户发送通知。 1 小时后发送通知,有效。现在我想让用户能够重置通知的 TimeInterval,以便再次运行相同的通知,但 TimeInterval 仅在用户按下此按钮时重置。这意味着 repeats: true 不是一个选项。

我的代码:

let tijd = 15

@IBAction func change(_ sender: Any) {
    // Notification
    let content = UNMutableNotificationContent()
    content.title = "title"
    content.body = "body"
    content.badge = 1
    content.sound = UNNotificationSound.default()


    // Timer
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false)
    let request = UNNotificationRequest(identifier: bezigheid, content: content, trigger: trigger)

    UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}

@IBAction func repeat(_ sender: Any) {
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false)
    trigger.invalidate()
}

我尝试在单击重复按钮时使 TimeInterval 无效,但这只会给我一个错误,所以我认为这不是正确的方法。执行此操作的方式是什么? :)

最佳答案

首先使用以下代码删除旧通知://删除通知

UNUserNotificationCenter.current().removePendingNotification‌​Requests(withIdentif‌​iers: [bezigheid])

然后您可以像设置第一个通知一样设置下一个通知!

关于ios - 再次发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588282/

相关文章:

ios - superview 的 inputViewController 在点击 subview(UITextView) 时被调用

ios - Swift - 后台线程通过身份验证使应用程序崩溃

swift - UN用户通知中心。此应用程序不允许通知

c# - 有没有办法让通知在被视为横幅后出现在锁定屏幕上? iOS12

ios - 如果在 iOS 设置中禁用通知访问时安排本地通知,则不会在 iOS 13 上触发本地通知

ios - 从不兼容的类型 'id<Delegate>' 分配给 'ViewController *const_strong'

javascript - 在不更改 View 的情况下单击键盘上页脚的输入级别! Cordova jQuery

ios - Xcode 在 Assets 目录打开时卡住

ios - 将数据传递给 Swift 中的容器 View ?

iphone - 如何获取 UNCONFIRMED 账户的 AWSCognitoIdentityUser 对象?