iOS开发之本地通知UILocalNotification
白羽 2018-06-22 来源 :网络 阅读 1226 评论 0

摘要:本文将带你了解iOS开发之本地通知UILocalNotification,希望本文对大家学IOS有所帮助。


在iOS中有两类信息提示推送方式,一类是远程服务器推送(APNS)还有一类就是本地通知UILocalNotification,今天就简要的记录一下UILocalNotification的使用,代码里见注释

[cpp] view plain copy

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

2.     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  

3.     [formatter setDateFormat:@"HH:mm:ss"];  

4.     //触发通知的时间  

5.     NSDate *now = [formatter dateFromString:@"15:00:00"];  

6.     notification.fireDate = now;  

7.     //时区  

8.     notification.timeZone = [NSTimeZone defaultTimeZone];  

9.     //通知重复提示的单位,可以是天、周、月  

10.     notification.repeatInterval = NSDayCalendarUnit;  

11.     //通知内容  

12.     notification.alertBody = @"这是一个新的通知";  

13.     //通知被触发时播放的声音  

14.     notification.soundName = UILocalNotificationDefaultSoundName;  

15.     //执行通知注册  

16.     [[UIApplication sharedApplication] scheduleLocalNotification:notification];  


以上代码实现了这么一个场景:一些Todo和闹钟类应用都有通知用户的功能,使用的就是iOS中的本地通知UILocalNotification,还有些应用会在每天、每周、每月固定时间提示用户回到应用看看,也是用的本地通知,以上代码片段就是实现了在每天的下午3点弹出通知提示。

 

如果要在通知中携带参数信息,可以使用下面的方式:

[cpp] view plain copy
1. NSDictionary *dic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];  
2.     notification.userInfo = dic;  
如果软件是在运行中,则可以通过AppDelegate中的回调方法获取并处理参数信息:
[cpp] view plain copy
1. -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification  
2. {  
3.     if (notification) {  
4.         NSDictionary *userInfo =  notification.userInfo;  
5.         NSString *obj = [userInfo objectForKey:@"key"];  
6.         NSLog(@"%@",obj);  
7.     }  
8. }  
另外,可以通过两种方式取消注册的本地通知,一种是取消指定的通知,第二种是取消所有的注册通知:
[cpp] view plain copy
1. [[UIApplication sharedApplication] cancelLocalNotification:localNotification];  
2.    [[UIApplication sharedApplication] cancelAllLocalNotification];

 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程