当应用程序在后台时,不会调用 didReceive Local notification。
所以我尝试从 didFinishLaunchingWithOptions 获取通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
//...
}
但我的应用程序启用了后台模式(使用外部配件通信)
单击通知时,不会调用 didFinishLaunchingWithOptions。
还有其他方法可以检索通知吗?
通过检查苹果的文档 https://developer.apple.com/Library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW1关于通知,它说:
iOS注意:在iOS中,可以判断应用程序是否启动
由于用户点击操作按钮或是否
通知已传递给已经运行的应用程序
检查应用程序状态。在代表的实施中
应用程序:didReceiveRemoteNotification:或
application:didReceiveLocalNotification:方法,获取值
applicationState 属性并对其进行评估。如果值为
UIApplicationStateInactive,用户点击了操作按钮;如果
值为 UIApplicationStateActive,应用程序在最前面时
它收到了通知。
据我所知,当您的应用程序处于后台运行状态,并且有本地通知时,您不会收到任何方法调用,通知将显示给用户,但如果用户点击通知,从而反应您的应用程序,您将收到-didReceiveLocalNotification:
call.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)