ios本地通知

来源:互联网 发布:圆形扇子淘宝网 编辑:程序博客网 时间:2024/06/16 17:58

首先在注册通知

 if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){                [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];            }

再需要使用通知的地方创建通知

-(void)createLocalNotifaction{    //设置20秒之后        NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0];        /*          NSDateFormatter *formatter = [[NSDateFormatter alloc] init];          [formatter setDateFormat:@"HH:mm:ss"];          NSDate *now = [formatter dateFromString:@"15:00:00"];//触发通知的时间          */    UILocalNotification *noti = [[UILocalNotification alloc] init];        if (noti) {                //设置推送时间                noti.fireDate = date;//=now                //设置时区                noti.timeZone = [NSTimeZone defaultTimeZone];                //设置重复间隔               // noti.repeatInterval = NSCalendarUnitMinute;                //推送声音                noti.soundName = @"push01.caf";                //内容                noti.alertBody = @"推送内容";                //显示在icon上的红色圈中的数子                noti.applicationIconBadgeNumber = 1;                //设置userinfo 方便在之后需要撤销的时候使用                NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];                noti.userInfo = infoDic;                //添加推送到uiapplication                        UIApplication *app = [UIApplication sharedApplication];                [app scheduleLocalNotification:noti];              }}

关闭所有通知

-(void)cancelNotify{        //删除全部的通知    [[UIApplication sharedApplication] cancelAllLocalNotifications];    }

关闭指定通知

              for (UILocalNotification *noti in [[UIApplication sharedApplication] scheduledLocalNotifications]) {                                if([noti.userInfo[@"key"] isEqualToString:@"name"]){                                        [[UIApplication sharedApplication] cancelLocalNotification:noti];                }            }

倒计时结束播放音乐

-(void)cutDownCount:(NSTimer *)theTimer{        NSString *strSecond;    NSString *strMinute;    if(senconds < 10){                strSecond = [NSString stringWithFormat:@"0%d",(int)senconds];    }else{                strSecond = [NSString stringWithFormat:@"%d",(int)senconds];    }    if(projectTime < 10){                strMinute = [NSString stringWithFormat:@"0%d",(int)projectTime];    }else{                strMinute = [NSString stringWithFormat:@"%d",(int)projectTime];    }        NSString *buttonTitle = [NSString stringWithFormat:@"%@:%@",strMinute,strSecond];    coutTimeLabel.text = buttonTitle;    if(senconds == 0){                if(projectTime == 0 && senconds == 0){                        //计时器结束            [theTimer invalidate];            [self showAlertView];                        for (UILocalNotification *noti in [[UIApplication sharedApplication] scheduledLocalNotifications]) {                                if([noti.userInfo[@"key"] isEqualToString:@"name"]){                                        [[UIApplication sharedApplication] cancelLocalNotification:noti];                }            }//            movePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"夜空中最亮的星" ofType:@"mp3"]] error:nil];//                        NSString *tmp=[[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:@"夜空中最亮的星.mp3"];            NSLog(@"%@",tmp);            NSURL *moveMP3=[NSURL fileURLWithPath:[[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:@"夜空中最亮的星.mp3"]];            NSError *err=nil;            movePlayer=[[AVAudioPlayer alloc] initWithContentsOfURL:moveMP3 error:&err];            movePlayer.volume=1.0;            [movePlayer prepareToPlay];            if (err!=nil) {                NSLog(@"move player init error:%@",err);            }else {                [movePlayer play];            }            projectTime --;            senconds = 59;        }    }    senconds--;}


0 0
原创粉丝点击