在应用程序处于后台时获取本地通知

时间:2014-08-18 03:46:05

标签: ios localnotification

当应用程序处于后台时,不会调用didReceiveLocalNotification。

所以我尝试从didFinishLaunchingWithOptions

获取通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{ 
 UILocalNotification *notification = [launchOptions  objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
//...
}

但我的应用程序启用后台模式(使用外部附件通信) 单击通知时,不会调用didFinishLaunchingWithOptions。

检索通知的其他任何方式?

1 个答案:

答案 0 :(得分:3)

通过检查有关通知的Apple's document,它会说:

  

iOS注意:在iOS中,您可以确定是否已启动应用程序   由于用户点击动作按钮或是否   通知已通过发送到已经运行的应用程序   检查应用程序状态。在委托的实施中   应用程序:didReceiveRemoteNotification:或   application:didReceiveLocalNotification:方法,获取值   applicationState属性并对其进行评估。如果值是   UIApplicationStateInactive,用户点击了动作按钮;如果   值是UIApplicationStateActive,应用程序是最重要的   它收到了通知。

据我所知,当您的应用处于后台运行状态,并且出现本地通知时,您将不会收到任何方法调用,通知将显示给用户,但如果用户点击通知并且因此,您的应用会被激活,您将收到-didReceiveLocalNotification:来电。