我正在尝试将我的应用程序设置为在从本地通知打开时打开特定页面。我已经设置了 didReceiveLocalNotification 来打印通知信息。这已经工作了几天,但我今天才注意到,当我从 xcode 启动我的应用程序时,会调用 didReceiveLocalNotification 并打印上次预定通知(几个小时前)的信息。
这是我的代码:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
// If app is opened from a local notification while running in background, print notification info.
if(application.applicationState == .Active){
print(notification)
print("app opened from notification")
}
}
我见过一些线程,其中人们为同一个本地通知调用了两次 didReceiveLocalNotification,但这是不同的。每次我登录应用程序时都会调用它,打印有关四小时前触发的通知的信息。如何确保仅在通过通知打开应用时才调用 didReceiveLocalNotification?
感谢任何和所有建议。
最佳答案
你可以这样测试:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
print("notification - tapped")
if application.applicationState == UIApplicationState.Active {
print("App already open")
} else {
print("App opened from Notification")
}
}
}
您可以关闭该应用程序但不要终止以对其进行测试。
关于ios - didReceiveLocalNotification 总是在应用程序启动时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361709/