iOS Local Notification学习笔记

翻译 2015年07月10日 14:51:17

在iOS4.0后Apple加入了Local Notification。这里是NSLocaleNotification的Class Reference http://developer.apple.com/library/ios/#documentation/iPhone/Reference/UILocalNotification_Class/Reference/Reference.html

如何注册一个Notification

  1. UILocalNotification *localNotification = [[UILocalNotification alloc] init];  
  2.   
  3. // 设置notification的属性  
  4. localNotification.fireDate = [startTimePicker.picker.date dateByAddingTimeInterval:36000]; //出发时间  
  5. localNotification.alertBody = @"Time To Schedule Our Service"// 消息内容  
  6. localNotification.repeatInterval = NSSecondCalendarUnit; // 重复的时间间隔  
  7. localNotification.soundName = UILocalNotificationDefaultSoundName; // 触发消息时播放的声音  
  8. localNotification.applicationIconBadgeNumber = 1; //应用程序Badge数目  
  9.   
  10. //设置随Notification传递的参数  
  11. NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"reminder", @"notificationId", @"phone", txtPhone.text, nil];  
  12. localNotification.userInfo = infoDict;  
  13.       
  14. [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //注册  
  15. [localNotification release]; //释放  

遍历已经注册的所有LocaleNotification

  1.     NSArray *notifications = [[UIApplication sharedApplication] scheduledLocalNotifications];  
  2.     for (UILocalNotification *notification in notifications ) {  
  3.         if( [[notification.userInfo objectForKey:@"source"] isEqualToString:@"dailyReminder"] ) {  
  4.             [[UIApplication sharedApplication] cancelLocalNotification:notification];  
  5.             break;  
  6.         }  
  7.     }  

撤销LocaleNotification

  1. [[UIApplication sharedApplication] cancelAllLocalNotifications]; // 撤销所有的Notification  
  2. <pre name="code" class="cpp">[[UIApplication sharedApplication] cancelLocalNotification:notification]; // 撤销某个Notificiation,若要删除某个特定的Notification,则可以在UserInfo中加入标记,遍历所有的Notification来删除。</pre>  
  3. <pre></pre>  
  4. <p></p>  
  5. <pre></pre>  
  6. <strong></strong>  
  7. <p></p>  
  8. <p></p>  
  9. <p><strong>响应事件</strong></p>  
  10. <p>当Notification被触发后,你的应用需要对此作出反应。应用此时可能会处于以下几个状态:</p>  
  11. <ul>  
  12. <li>在前台运行 - 当应用在前台运行时,则ApplicationDelegate的didReceiveLocalNotification会被调用。<pre name="code" class="cpp">- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {  
  13.     NSLog(@"Notification Body: %@", notification.alertBody);  
  14.     NSLog(@"%@", notification.userInfo);  
  15.     application.applicationIconBadgeNumber = notification.applicationIconBadgeNumber-1;  
  16. }</pre><br>  
  17. </li><li>在后台运行 - 用户可以看到类似Push Notification的提醒,若用户选择查看提醒详情,则应用通过 ApplicationDelegate的didFinishLaunchingWithOptions进入<br>  
  18. <pre name="code" class="cpp">- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
  19.     UILocalNotification *localNotification =  
  20.     [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];  
  21.     if (localNotification) {  
  22.         NSLog(@"Notification Body: %@",localNotification.alertBody);  
  23.         NSLog(@"%@", localNotification.userInfo);  
  24.         application.applicationIconBadgeNumber = localNotification.applicationIconBadgeNumber-1;  
  25.     }  
  26.     // set up everything else  
  27.     return YES;  
  28. </pre>}<br>  
  29. </li></ul>  
  30.       
  31.         <div style="padding-top:20px">           
  32.             <p style="font-size:12px;">版权声明:本文为博主原创文章,未经博主允许不得转载。</p>  
  33.         </div>  

《Java JDK8学习笔记》读书笔记(4)

第4章 认识对象 学习目标  区分基本类型与对象类型  了解对象与引用的关系  从打包器认识对象  以对象观点看待数组  认识字符串的特性...
  • mouyong
  • mouyong
  • 2016年04月18日 20:10
  • 4384

【静下心学习Unity】学习笔记 (一)简介

静下心好好学习Unity3D,不再无脑制作Demo。基础扎实才是王道。——来自刚受实习挫折准备好好学习的孙子旭...
  • sun15980
  • sun15980
  • 2016年04月10日 18:58
  • 1738

Linux学习笔记之——起始篇

摘要:学习笔记目录、方便以后回顾、没有什么捷径可走、不断的记录、总结、练习、coding、coding。...
  • chenghuaying
  • chenghuaying
  • 2014年03月31日 16:47
  • 4499

iOS Local Notification学习笔记

做了很多有Push Notification和Locale Notification的app,来整理下开发的笔记。今天先说说Local Notification 在iOS4.0后Apple加入了Lo...
  • alexjames_83
  • alexjames_83
  • 2012年04月21日 13:35
  • 10898

iOS 10.0之前和之后的Local Notification有神马不同

在iOS 10.0之前apple还没有将通知功能单独拿出来自成一系.而从10.0开始原来的本地通知仍然可用,只是被标记为过时.于是乎我们可以使用10.0全新的通知功能.别急…让我们慢慢来,先从iOS ...
  • mydo
  • mydo
  • 2016年10月13日 17:28
  • 1733

iOS实现本地通知(local notification)的方法

iOS 的本地通知(local notification)用于基于时间行为的通知,比如有关日历或者 todo 列表的小应用。另外应用如果在后台执行,iOS 允许它在受限的时间内运 行,它也会发现本地通...
  • u010708434
  • u010708434
  • 2014年03月30日 14:57
  • 525

iOS10 添加本地推送(Local Notification)

转: http://blog.csdn.net/lincsdnnet/article/details/52970747 iOS10 添加本地推送(Local Notification...
  • smilebigdear
  • smilebigdear
  • 2017年03月11日 08:56
  • 212

iOS之Local Notification(本土通知)

本文转自: iOS之Local Notification(本地通知)· Local Notification的作用 Local Notification(本地通知) :是根据本机状态做出的通知行...
  • zhangyabinzyb
  • zhangyabinzyb
  • 2014年08月19日 09:56
  • 330

MySQL学习笔记---- LOAD DATA LOCAL INFILE中文乱码

借阅了学校图书馆里面的一本关于JSP的书《JSP课程设计案例精编》来复习JSP相关的技术。再查阅书中相关项目代码时也学习了很多,关于数据库的也学习到不少,好的方法记下,留待以后工作使用。       ...
  • sdtvyyb_007
  • sdtvyyb_007
  • 2015年11月10日 23:28
  • 1023

EJB学习笔记四((@Remote与@Local的差异)

1.前言 上一篇博客,通过实例讲解,分析了一下EJB中SessionBean的两种状态,这篇博客来深入的分析一下EJB中的远程客户端和本地客户端的区别。  2.什么是远程客户端和本地客户端 ...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2015年07月28日 17:35
  • 1496
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS Local Notification学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)