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>  

相关文章推荐

iOS Local Notification学习笔记

做了很多有Push Notification和Locale Notification的app,来整理下开发的笔记。今天先说说Local Notification 在iOS4.0后Apple加入了Lo...

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

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

iOS10 添加本地推送(Local Notification)

转: http://blog.csdn.net/lincsdnnet/article/details/52970747 iOS10 添加本地推送(Local Notification...

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

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

Pro Android学习笔记(七六):服务(1):local和remote

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/ Android提供服务,服务是运行在后台...

Android 学习笔记 Service (一) Local Service

LocalService  本地service,指这个service只提供给自己的程序访问,其他程序不能访问。 源码结构: MainActivity.java package co...
  • wssiqi
  • wssiqi
  • 2012年11月14日 16:53
  • 1188

android学习笔记(14)Status Bar Notification 状态栏、通知栏推送

Status Bar Notification 添加一个icon到系统状态栏中(可选择是否有文本信息),添加一段信息到Notification(通知栏)窗口中 当在后台运行的服务需要与用户进行交互时...
  • sac761
  • sac761
  • 2015年09月05日 13:38
  • 1404

android学习笔记——Notification消息提示

http://www.bubuko.com/infodetail-631121.html 上链接非常详细的讲解了Notification的使用方式以及注意事项,记得重新翻来仔细读一读。 转自: h...

Android学习笔记(五四):通知Notification(上)

运行在后台的Service,需要某种方式来通知用户,例如通知用户来电,通知有新的消息。这类的通知显示在status bar上,还可以带有硬件的提醒,例如振动、LED灯闪,播放声音等等。在Android...

Android学习笔记二十之Toast吐司、Notification通知、PopupWindow弹出窗

Android学习笔记二十之Toast吐司、Notification通知、PopupWindow弹出窗
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS Local Notification学习笔记
举报原因:
原因补充:

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