2

didReceiveLocalNotification在活动模式下触发通知时调用,但是在通过滑动或单击通知激活应用程序之前,iOS 如何在后台模式下处理通知(非活动模式,应用程序可能会终止)。

或者

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

我目前正在检查这种情况,didReceiveLocalNotification但这样我无法在后台模式下处理它?

4

3 回答 3

1

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

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

最好读这个:

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

于 2013-09-12T09:22:48.060 回答
1

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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if (localNotif)
    {
       // your code
    }
}
于 2013-09-12T09:11:50.133 回答
0

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

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

于 2013-09-12T09:12:13.563 回答