ios 闹钟的总结-------也就是本地通知。

IOSPanPan 2013-03-18

//发送通知

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

    if (notification!=nil) {

        NSDate *now=[NSDate new];

        notification.fireDate=[now dateByAddingTimeInterval:10];//10秒后通知

        notification.repeatInterval=0;//循环次数,kCFCalendarUnitWeekday一周一次

        notification.timeZone=[NSTimeZone defaultTimeZone];

        notification.applicationIconBadgeNumber=1; //应用的红色数字

        notification.soundName= UILocalNotificationDefaultSoundName;//声音,可以换成alarm.soundName = @"myMusic.caf"

        //去掉下面2行就不会弹出提示框

         notification.alertBody=@"通知内容";//提示信息 弹出提示框

         notification.alertAction = @"打开";  //提示框按钮

        //notification.hasAction = NO; //是否显示额外的按钮,为no时alertAction消失



       // NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];

        //notification.userInfo = infoDict; //添加额外的信息

       

        [[UIApplication sharedApplication] scheduleLocalNotification:notification];     

    }

    [notification release];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   
   
    // Override point for customization after application launch.
    application.applicationIconBadgeNumber = 0;
    // Add the view controller's view to the window and display.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
    //点击提示框的打开
    application.applicationIconBadgeNumber = 0;
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
    //当程序还在后天运行
    application.applicationIconBadgeNumber = 0;
}

 - (void)clock:(UIButton *)button
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:(@"yyyy-MM-dd HH:mm:ss")];
    NSString *now = [formatter stringFromDate:[NSDate new]];
    
    NSString *hourstr = [NSString stringWithFormat:@"%d",hour];
    NSString *minutestr = [NSString stringWithFormat:@"%d",minute];
    if (hour <= 9) {
        hourstr = [NSString stringWithFormat:@"0%d",hour];
    }
    if (hour <= 9) {
        minutestr = [NSString stringWithFormat:@"0%d",minute];
    }
    NSString *fireTimeStr = [NSString stringWithFormat:@"%@%@:%@:00",[now substringToIndex:11],hourstr,minutestr];
    NSDate *fireTime = [formatter dateFromString:fireTimeStr];
    
    UILocalNotification *notification = [[UILocalNotification alloc] init];
    if (notification != nil) {
        notification.fireDate = fireTime;
        notification.timeZone = [NSTimeZone defaultTimeZone];
        notification.soundName= UILocalNotificationDefaultSoundName;//声音,可以换成
//        notification.soundName = @"beep-beep.caf";
        notification.alertLaunchImage = [NSString stringWithFormat:@"redgift.png"]; //闹钟的图片。
        notification.applicationIconBadgeNumber = 4; //闹钟的icon 数量。
        notification.repeatInterval = kCFCalendarUnitMinute; //重复的方式。
        notification.alertBody = [NSString stringWithFormat:@"%@已到",fireTimeStr];
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];
    }
}

相关推荐