我想我的应用程序将在后台运行并检查某些事情。 如果是,则显示本地通知。
我在检查的方法中使用此代码:
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秒重新加载一次,所以他也需要在后台运行。