当应用程序处于后台时,不会调用didReceiveLocalNotification。
所以我尝试从didFinishLaunchingWithOptions
获取通知- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
//...
}
但我的应用程序启用后台模式(使用外部附件通信) 单击通知时,不会调用didFinishLaunchingWithOptions。
检索通知的其他任何方式?
答案 0 :(得分:3)
通过检查有关通知的Apple's document,它会说:
iOS注意:在iOS中,您可以确定是否已启动应用程序 由于用户点击动作按钮或是否 通知已通过发送到已经运行的应用程序 检查应用程序状态。在委托的实施中 应用程序:didReceiveRemoteNotification:或 application:didReceiveLocalNotification:方法,获取值 applicationState属性并对其进行评估。如果值是 UIApplicationStateInactive,用户点击了动作按钮;如果 值是UIApplicationStateActive,应用程序是最重要的 它收到了通知。
据我所知,当您的应用处于后台运行状态,并且出现本地通知时,您将不会收到任何方法调用,通知将显示给用户,但如果用户点击通知并且因此,您的应用会被激活,您将收到-didReceiveLocalNotification:
来电。