如何区分两个本地通知
How to differentiate between two local notifications
我有两个本地通知,一个根据日期触发,另一个根据时间触发。
当它们被触发时,使用 UNNotificationDefaultActionIdentifier
标识符调用 didReceive
委托:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
switch response.actionIdentifier {
case UNNotificationDismissActionIdentifier:
print("Dismiss Action")
case UNNotificationDefaultActionIdentifier:
// this part is called when notification is triggered
......................................
default:
print("Unknown action")
}
completionHandler()
}
这个委托有没有办法区分这两个通知?
我想要根据触发的通知执行不同的操作。
您的 回复 是 UNNotificationResponse
。它有两个不变的属性:
actionIdentifier
,与您添加到 userNotificationCenter 的类别相关的 String
notification
这是一个 UNNotification
包含
原始 request 即它是 UNNotificationRequest
. 的一个实例
所以切换使用:response.notification.request.identifier
试试
response.notification.request.identifier
UNNotificationRequest
具有标识符,如 UNNotificationRequest.h
所示
希望对您有所帮助
我有两个本地通知,一个根据日期触发,另一个根据时间触发。
当它们被触发时,使用 UNNotificationDefaultActionIdentifier
标识符调用 didReceive
委托:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
switch response.actionIdentifier {
case UNNotificationDismissActionIdentifier:
print("Dismiss Action")
case UNNotificationDefaultActionIdentifier:
// this part is called when notification is triggered
......................................
default:
print("Unknown action")
}
completionHandler()
}
这个委托有没有办法区分这两个通知?
我想要根据触发的通知执行不同的操作。
您的 回复 是 UNNotificationResponse
。它有两个不变的属性:
actionIdentifier
,与您添加到 userNotificationCenter 的类别相关的 notification
这是一个UNNotification
包含 原始 request 即它是UNNotificationRequest
. 的一个实例
String
所以切换使用:response.notification.request.identifier
试试
response.notification.request.identifier
UNNotificationRequest
具有标识符,如 UNNotificationRequest.h
希望对您有所帮助