Swift:无需打开应用程序即可处理前台的通知操作

时间:2018-11-19 11:49:53

标签: swift notifications uilocalnotification

我创建了一个带有按钮动作“ Snooze”的通知,当应用程序在后台运行时它可以正常工作,但是当我在前台杀死该应用程序时,只要收到通知并单击它,就可以操作“ Snooze”通知,这将打开应用程序。我想在不打开应用程序的情况下启动该功能。

操作按钮:

let snoozeAction = UNNotificationAction(identifier: Notification.Action.snooze, title: "SNOOZE_10_MIN".localized, options: [.foreground])

我的didReceive:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        if response.actionIdentifier == Notification.Action.snooze {
            snoozeHandler()
        }

        completionHandler()
}

我已经在互联网上阅读到可以在didLaunshFinishWithOption的{​​{1}}中捕获通知了

像这样:

AppDelegate

但是if let localNotification = launchOptions?[.localNotification] { LocalNotification.create.repeatNotificationIn10Min() } 已被弃用,无论如何,当我收到通知时,我不符合条件。.也许因为它已被弃用,所以我该如何替换它:

launchOptions?[.LocalNotification]

在不打开应用程序的情况下启动前台功能的方法和最佳方法是什么?

谢谢。

0 个答案:

没有答案