摘要:本文将带你了解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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号