iOS - UILocalNotification不会触发(在后台设置时)

时间:2013-10-15 21:14:41

标签: iphone ios ios6 uilocalnotification

我有这段代码来安排UILocalNotification

UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.userInfo = @{PLANNED_EVENT_ID : @"some id"};
localNotification.fireDate = someStartDate;
localNotification.alertBody = @"Some text";
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

当我在应用程序处于前台时设置上述内容时,此方法按预期工作,但如果我在应用程序处于后台时使用此代码(按下主页按钮),那么它根本不会被触发?

为什么这不起作用?我怎样才能得到我需要的结果?当应用程序在后台时,我需要能够使用此代码。

谢谢!

更清楚一点,在AppDelegate我有方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)

当我在这个方法中获得第一个通知(它工作,它在视图控制器中安排)时,我以相同的方式安排另一个通知(从现在起1分钟)。所以我尝试将应用程序放在前台,然后它就可以了,但是当我在后台使用它时,它没有。

虽然在模拟器上测试过。

1 个答案:

答案 0 :(得分:1)

方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)
在向用户显示本地通知用户已从通知中打开应用程序后,应用程序打开时会调用

。如果用户未从通知中打开应用程序,则不会调用此方法。因此,您的下一个通知实际上从未添加过。