本地通知在后台

任何人都可以告诉我如何得到一个UILocalNotification而我的应用程序是在后台。

我在这里发布我的代码。 提前致谢。

 UILocalNotification *localNotif = [[UILocalNotification alloc] init]; if (localNotif == nil) return; localNotif.fireDate =[startDate addTimeInterval:60]; NSLog(@"%@",localNotif.fireDate); localNotif.timeZone = [NSTimeZone defaultTimeZone]; localNotif.alertAction = @"View"; localNotif.soundName = UILocalNotificationDefaultSoundName; NSString *notifStr=[NSString stringWithFormat:@"Hey looks like you're meeting up with %@, why don't you let your other friends know what fun they're missing out on? Share a photo :)",[itemDict objectForKey:@"fname"]]; NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:notifStr ,@"notifKey",nil]; localNotif.userInfo = infoDict; [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; [localNotif release]; 

 -(void)insert:(NSDate *)fire { [[UIApplication sharedApplication]cancelAllLocalNotifications]; self.localNotification = [[UILocalNotification alloc] init]; if (self.localNotification == nil) { return; } else { self.localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:60]; self.localNotification.alertAction = nil; self.localNotification.soundName = UILocalNotificationDefaultSoundName; self.localNotification.alertBody = @"Hey looks like you're meeting up with %@, why don't you let your other friends know what fun they're missing out on? Share a photo :)"; self.localNotification.alertAction = NSLocalizedString(@"Read Msg", nil); self.localNotification.applicationIconBadgeNumber=1; self.localNotification.repeatInterval=0; [[UIApplication sharedApplication] scheduleLocalNotification:self.localNotification]; } } - (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif { [[UIApplication sharedApplication]cancelAllLocalNotifications]; app.applicationIconBadgeNumber = notif.applicationIconBadgeNumber -1; notif.soundName = UILocalNotificationDefaultSoundName; [self _showAlert:[NSString stringWithFormat:@"%@",Your msg withTitle:@"Title"]; } - (void) _showAlert:(NSString*)pushmessage withTitle:(NSString*)title { [self.alertView_local removeFromSuperview]; self.alertView_local = [[UIAlertView alloc] initWithTitle:title message:pushmessage delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [self.alertView_local show]; if (self.alertView_local) { } } 

希望对你有帮助 :)

addTimerInterval在iOS 4.0中被剥夺,请确保您的部署目标。 您可以使用。

 - (id)dateByAddingTimeInterval:(NSTimeInterval)ti 

还要确保你为fireDate设置了正确的值

请使用下面的代码。

  self.localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:60]; self.localNotification.alertAction = nil; self.localNotification.soundName = UILocalNotificationDefaultSoundName; self.localNotification.alertBody = @"Hey looks like you're meeting up with %@, why don't you let your other friends know what fun they're missing out on? Share a photo :)"; self.localNotification.alertAction = NSLocalizedString(@"Read Msg", nil); self.localNotification.applicationIconBadgeNumber=1; self.localNotification.repeatInterval=0;