OGeek|极客世界-中国程序员成长平台

标题: iphone - iOS - UILocalNotification 不会触发(在后台设置时) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:38
标题: iphone - iOS - 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)applicationUIApplication *)application didReceiveLocalNotificationUILocalNotification *)

当我在此方法中收到第一个通知时(有效,它被安排在 View Controller 中),我以相同的方式安排另一个通知(从现在开始 1 分钟)。所以我尝试将应用程序放在前台,然后它可以工作,但是当我将它放在后台时,它没有。

在模拟器上测试过。



Best Answer-推荐答案


方法

- (void)applicationUIApplication *)application didReceiveLocalNotificationUILocalNotification *)

在向用户显示本地通知后打开应用程序时调用并且用户已从通知中打开应用程序。如果用户没有从通知中打开应用程序,则不会调用此方法。因此,您的下一个通知永远不会真正添加。

关于iphone - iOS - UILocalNotification 不会触发(在后台设置时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19391223/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4