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
- iOS 本地通知 远程通知
- iOS本地通知 远程通知
- iOS本地通知&定时通知
- iOS实现本地通知
- iOS本地通知
- iOS本地通知
- iOS本地通知UILocalNotification
- IOS实现本地通知
- IOS 本地通知 UILocalNotification
- ios本地通知UILocalNotification
- iOS UILocalNotification本地通知
- iOS实现本地通知
- iOS实现本地通知
- IOS实现本地通知
- iOS-本地通知
- IOS 本地通知
- IOS本地推送通知
- iOS本地通知:UILocalNotification
- createAlias 链接方式
- 在OPENSTACK建VM时候,设置采用SSH密码认证登录
- Fresco、SimpleDraweeView加载资源文件
- Ansible的循环
- 看别人看芒果娱乐节目
- ios本地通知
- 自学android 坑2
- Composer PHP的包管理器
- 大数加法+乘法
- Spring源码学习之一 ContextLoaderListener及XmlWebApplicationContext
- Hadoop参数设置中的关系疏理
- springmvc(十一)post乱码
- 高效使用Bitmaps, 神奇的Cache
- exit