本地通知之闹钟

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

在现阶的APP中关于消息的处理需求越来越大,系统需要将一下消息以音频或者文字的形式提示用户,这里便用到推送,推送消息主要有本地和远程推送,今天我们先研究一下简单的本地通知,下面以闹钟为例子。

1、我们首先要注册通知

UIapplication* application=[UIApplication sharedApplication];//如果当前应用程序没有注册本地通知,需要注册if([application currentUserNotificationSettings].types==UIUserNotificationTypeNone){//设置提示支持的提示方式//UIUserNotificationTypeBadge 提示图标//UIUserNotificationTypeSound 提示声音//UIUserNotificationTypeAlert 提示弹框UIUserNotificationSettings * setting=[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];

[application registerUserNotificationSettings:setting];

}//删除之前的重复通知[application cancelAllLocalNotifications];

通知注册完成之后可以在设置里面进行查看,同时也可以删除。如图:

2、设置通知

#PRagmamark - 添加本地通知

- (void) _addLocalNotification:(NSDate *) date{

UILocalNotification* noti=[[UILocalNotification alloc] init];//设置开始时间noti.fireDate=date;//设置bodynoti.alertBody=@"该起床了";//设置actionnoti.alertAction=@"解锁";//设置闹铃noti.soundName=@"4195.mp3";#warning注册完之后如果不删除,下次会继续存在,即使从模拟器卸载掉也会保留//注册通知[[UIApplication sharedApplication] scheduleLocalNotification:noti];

}

这样就会在设置的时间内闹钟响起来,如图:

3、这样闹钟的功能基本实现,但是还有一个问题,因为如果当前程序是打开的会导致闹钟不会响起来,那我们如何解决问题呢。此时我们需要借助播放器来解决

@interfaceAppDelegate ()

{//定义播放器播放音乐AVAudioPlayer *player;//用来判断是不是从通知窗口打开BOOL isFromNotification;

}- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{//如果是从通知窗口进来的则不需要播放音频if(isFromNotification) {return;

}//初始化音乐播放音乐NSURL * url=[[NSBundle mainBundle] URLForResource:@"4195.mp3"withExtension:nil];

player=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];

player.numberOfLoops=0;

[player prepareToPlay];

[player play];

}

这样便大功告成了。

想要了解更多内容的小伙伴,可以点击查看源码,亲自运行测试。

疑问咨询或技术交流,请加入官方QQ群: (452379712)

作者:杰瑞教育

出处:http://www.cnblogs.com/jerehedu/

本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航