如何使用本地通知唤醒我的应用?

时间:2011-07-06 08:30:04

标签: iphone objective-c ios

我想我的应用程序将在后台运行并检查某些事情。 如果是,则显示本地通知。

我在检查的方法中使用此代码:

UIApplication *app                = [UIApplication sharedApplication];
UILocalNotification *notification = [[UILocalNotification alloc] init];
NSArray *oldNotifications         = [app scheduledLocalNotifications];

if ([oldNotifications count] > 0) {
    [app cancelAllLocalNotifications];
}

if (notification == nil)
    return;

NSDate *notificationDate = [NSDate dateWithTimeIntervalSinceNow:10];

notification.fireDate  = notificationDate;
notification.timeZone  = [NSTimeZone systemTimeZone];
notification.alertBody = @"Test Body";

[app scheduleLocalNotification:notification];

[notification release];

问题是当应用程序在前台时显示警报,但如果应用程序在后台,则通知不会显示在屏幕上。

我所做的检查是在uiwebview上运行并每10秒重新加载一次,所以他也需要在后台运行。

1 个答案:

答案 0 :(得分:5)

除某些情况外,您的应用不会在后台运行。请查看此How to run the application in the background?帖子。