我有这段代码来安排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分钟)。所以我尝试将应用程序放在前台,然后它就可以了,但是当我在后台使用它时,它没有。
虽然在模拟器上测试过。
答案 0 :(得分:1)
方法
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)
在向用户显示本地通知并用户已从通知中打开应用程序后,应用程序打开时会调用。如果用户未从通知中打开应用程序,则不会调用此方法。因此,您的下一个通知实际上从未添加过。