iOS如何在后台模式下处理本地通知?

时间:2013-09-12 09:06:11

标签: iphone ios uilocalnotification

在活动模式下触发通知时会调用

didReceiveLocalNotification,但在应用处于活动状态之前,通过滑动或单击通知,iOS如何在后台模式(非活动模式,应用程序终止可能)中处理通知。< / p>

或者

主要是我想知道如何在后台模式下有条件地处理本地通知开启/关闭(关闭意味着不取消先前的通知但只是不要解雇它)?

我目前正在didReceiveLocalNotification检查这种情况,但这样我无法在后台模式中处理它?<​​/ p>

3 个答案:

答案 0 :(得分:1)

您可以点击didFinishLaunchingWithOptions文件中AppDelegate.m方法中的本地通知,检查您的应用是否已启动。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if (localNotif)
    {
       // your code
    }
}

答案 1 :(得分:1)

如果应用程序正在运行警报不会自动显示 - 您必须使用您提到的功能手动处理。

当应用程序处于后台运行或未运行时,iOS将在通知中心显示您的本地通知,并根据用户设置显示它们 - 作为横幅或警报。

最好读这个:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html

答案 2 :(得分:0)

当您的应用处于后台时,iOS会处理通知(本地或推送),您的应用根本无法访问它们。

只有在您的应用启动后,您才能在用户选择通知时指示。