4

我正在开发的应用程序是警报类型的应用程序。当用户按下主页按钮时,我会安排一些 UILocalNotifications 以特定间隔触发。当我按下主页按钮并退出应用程序时,通知会在正确的时间触发,但如果我按下锁定按钮,它们根本不会触发。我已经四处寻找,但还没有发现为什么会这样。

正如我所说,当我先按主页按钮时它工作正常。他们在正确的时间开火,但如果我按下手机顶部的“锁定”按钮,他们不会在那之后开火。有人对为什么会这样有任何想法吗?

谢谢

4

2 回答 2

0

这是因为锁定按钮不会退出您的应用程序。

我假设您正在应用程序委托中设置UILocalNotificationsin 。applicationWillTerminate:如果您在此方法中添加一些日志记录,您将看到在使用锁定按钮时它没有被调用。

设置通知applicationWillResignActive:可能会解决您的问题。

于 2013-10-03T20:33:29.917 回答
0

我知道这已经很晚了,但可能会对某人有所帮助。这个问题在 SO 上被忽视了,在互联网上也没有教程。无论如何,你需要做的是在设置UIUserNotificationActivationModeBackground时设置UIUserNotificationSettings,你应该很好。

代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationActivationModeBackground categories:nil];
    [application registerUserNotificationSettings:settings];
   }
   return YES;
}

希望这可以帮助。

于 2016-03-03T10:11:48.893 回答