每天5个本地通知

时间:2015-06-27 23:42:19

标签: ios localnotification

我希望每天有5个本地通知,这里是我用来触发本地通知的代码,一切都很酷,但是如果第一个通知出来,如果我运行APP前景,那么或者其他通知将会不出来即使我运行APP前台,请帮助保留所有通知。

UILocalNotification* n1 = [[UILocalNotification alloc] init];

    NSCalendar *c1 = [NSCalendar currentCalendar]; // gets default calendar

    NSDateComponents *co1 = [c1 components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, day,hour and minutesfor today's date

    [co1 setHour:15];

    [co1 setMinute:54];

    n1.fireDate = [c1 dateFromComponents:co1];

    n1.alertBody = @"3:54";

    n1.soundName = @"alarm.wav";

    n1.timeZone = [NSTimeZone defaultTimeZone];

    n1.alertAction= @"3:54";

    [[UIApplication sharedApplication] scheduleLocalNotification: n1];

    UILocalNotification* n2 = [[UILocalNotification alloc] init];

    NSCalendar *c2 = [NSCalendar currentCalendar]; // gets default calendar

    NSDateComponents *co2 = [c2 components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, day,hour and minutesfor today's date

    [co2 setHour:15];

    [co2 setMinute:55];

    n2.fireDate = [c2 dateFromComponents:co2];

    n2.alertBody = @"3:55";

    n2.soundName = @"alarm.wav";

    n2.timeZone = [NSTimeZone defaultTimeZone];

    n2.alertAction= @"3:55";

    [[UIApplication sharedApplication] scheduleLocalNotification: n2];

    UILocalNotification* n3 = [[UILocalNotification alloc] init];

    NSCalendar *c3 = [NSCalendar currentCalendar]; // gets default calendar

    NSDateComponents *co3 = [c3 components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, day,hour and minutesfor today's date


    [co3 setHour:15];

    [co3 setMinute:56];

    n3.fireDate = [c3 dateFromComponents:co3];

    n3.alertBody = @"3:56";

    n3.soundName = @"alarm.wav";

    n3.timeZone = [NSTimeZone defaultTimeZone];

    n3.alertAction = @"3:56";

    [[UIApplication sharedApplication] scheduleLocalNotification: n3];

    UILocalNotification* n4 = [[UILocalNotification alloc] init];

    NSCalendar *c4 = [NSCalendar currentCalendar]; // gets default calendar

    NSDateComponents *co4 = [c4 components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, day,hour and minutesfor today's date

    [co4 setHour:15];

    [co4 setMinute:57];

    n4.fireDate = [c4 dateFromComponents:co4];

    n4.alertBody = @"3:57";

    n4.soundName = @"alarm.wav";

    n4.timeZone = [NSTimeZone defaultTimeZone];

    n4.alertAction = @"3:57";

    [[UIApplication sharedApplication] scheduleLocalNotification: n4];

    UILocalNotification* n5 = [[UILocalNotification alloc] init];

    NSCalendar *c5 = [NSCalendar currentCalendar]; // gets default calendar

    NSDateComponents *co5 = [c5 components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]]; // gets the year, month, day,hour and minutesfor today's date

    [co5 setHour:15];

    [co5 setMinute:58];

    n5.fireDate = [c5 dateFromComponents:co5];

    n5.alertBody = @"3:58";

    n5.soundName = @"alarm.wav";

    n5.timeZone = [NSTimeZone defaultTimeZone];

    n5.alertAction = @"3:58";

    [[UIApplication sharedApplication] scheduleLocalNotification: n5];

1 个答案:

答案 0 :(得分:2)

如果您的应用位于foreground,则不会显示通知,但会调用以下方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
}

首先,您应该通过其中附带的userinfo标识通知。(如果您没有提供,请在每次通知时提供userinfo。)

当您使用此方法接听电话时,

会显示任何提示。