问题描述
- 获取应用背景模式的本地通知
- 应用在背景模式下运行时如何获取本地通知?
谢谢
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;// Schedule the notification[[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) { }}
看看能不能实现
时间: 2024-11-03 03:14:20