iOS闹钟实现

UILocalNotification *notification=[[UILocalNotification alloc] init];
        if (notification!=nil)

{

NSDate *now=[NSDate new];

//notification.fireDate=[now addTimeInterval:period];

notification.fireDate = [now dateByAddingTimeInterval:period];

NSLog(@"%d",period);

notification.timeZone=[NSTimeZone defaultTimeZone];

notification.soundName = @"ping.caf";

//[email protected]"TIME!";

notification.alertBody = [NSString stringWithFormat:@"@%时间到了!",nameStr];

NSDictionary* info = [NSDictionary dictionaryWithObject:uniqueCodeStr forKey:CODE];

notification.userInfo = info;

[[UIApplication sharedApplication] scheduleLocalNotification:notification];

}

设置的时间到了以后,会自动在桌面弹出一个提示框,点显示后,就可以启动软件。然后在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

if (localNotif)

{

NSLog(@"Recieved Notification %@",localNotif);

NSDictionary* infoDic = localNotif.userInfo;

NSLog(@"userInfo description=%@",[infoDic description]);

NSString* codeStr = [infoDic objectForKey:CODE];

}

}里,对lanchOptions进行处理,找到它里面的信息,就可以拿到设置时的需要处理的东西,就可以继续操作了。

如果此时你的客户端 软件仍在打开,则会调用

- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif

{

}

一样的处理方法。

时间: 2024-10-12 14:28:59

iOS闹钟实现的相关文章

【造轮子系列】转轮选择工具——WheelView的改进

在[造轮子系列]转轮选择工具--WheelView中,我详细记录了这个自定义控件的设计思路和相关数据的计算.由于本人能力有限,当时还留下了一些不足的地方,主要包括: 滑动的性能和流畅性有待提高,特别是快速滑动时的效果 没有实现循环滚动的效果 经过这一段时间的不断改进,现在基本上已经比较完美了,接近ios闹钟的滚轮时间选择器的效果了.下面结合代码,对比之前的版本,记录一下我做的这些改进. 效果图 源码 WheelView 核心计算思想的转变 性能优化说白了就是在得到相同结果的前提下进行最少的计算.

ios 简便的提醒管理类 可以当闹钟用

github地址: https://github.com/li6185377/LKAlarmManager 方便快捷的把 "您的提醒" 加入到 日历或者本地通知中 会自动处理本地通知超过64个的情况 QQ群号 113767274 有什么问题或者改进的地方大家一起讨论 使用例子 1. 把下面三个 UIApplication回调, 传给LKAlarmManager - (BOOL)application:(UIApplication *)application didFinishLaunc

iOS Core Animation Advanced Techniques(一):图层树、寄宿图以及图层几何学

(一)图层的树状结构 巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克 Core Animation其实是一个令人误解的命名.你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角. Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立的图层,存储在一个叫做图层树的体系之中.于是这个树形成了UIKit以及在iO

【iOS程序启动与运转】- RunLoop个人小结

学习iOS开发一般都是从UI开始的,从只知道从IB拖控件,到知道怎么在方法里写代码,然后会显示什么样的视图,产生什么样的事件,等等.其实程序从启动开始,一直都是按照苹果封装好的代码运行着,暴露的一些属性和方法作为接口,是让我们在给定的方法里写代码实现自定义功能,做出各种各样的应用.这些方法的调用顺序最为关键,熟悉了程序运转和方法调用的顺序,才可以更好地操控程序和代码,尽量避免Xcode不报错又实现不了功能的BUG.从Xcode的线程函数调用栈可以看到一些方法调用顺序. 0 从程序启动开始到vie

《iOS用户体验》总结与思考-改动版

假设转载此文.请注明出处:http://blog.csdn.net/paulery2012/article/details/25157347,谢谢. 前言: 本文是在阅读<ios用户体验>的过程中,记录的总结和个人的感受思考.不免有错误之处,恳请读者指正,在以下留言就可以. 第一章:ios人机界面指南概述 1.智能手机的特点:大尺寸.高分辨率.强大的计算能力 2.签名交互:滚动轮.导航键.按键和硬键盘.软键盘.触控笔.触屏.输入特性又被称为"签名交互",用户能够通过输入方式

Android闹钟设置的解决方案

Android设置闹钟并不像IOS那样这么简单,做过Android设置闹钟的开发者都知道里面的坑有多深.下面记录一下,我解决Android闹钟设置的解决方案. 主要问题 API19开始AlarmManager的机制修改. 应用程序被Kill掉后,设置的闹钟不响. 6.0以上进入Doze模式会使JobScheduler停止工作. 手机设置重启后,闹钟失效问题. API19以上AlarmManager机制的修改 API19之前AlarmManager提供了三个设置闹钟的方法,由于业务需求闹钟只需要一

iOS底层基础知识-文件目录结构

一:iOS沙盒知识 出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件.网络资源等(也有例外,比如系统通讯录.照相机.照片等能在用户授权的情况下被第三方应用访问) 1:MyApp.app 该目录包含了应用程序本身的数据,程序打包的时候的资源文件和一些本地文件就是存放在这个目录下的. 程序的可执行程序.plist文件也在这个目录下. 这个目录不会被iTunes同步 2:Documents 使用这个目录来保存关键数据.关键数据指那些应用

ios UILocalNotification的使用

iOS下的Notification的使用 Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程.本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象加入到系统Notification管理机制队列中,系统会在指定的时间激发将本地Notificatio

iOS 后台运行实现 --备用

文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以,1.音乐2.location 3.voip 文二 在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务. 判断是否支持多线程 UIDevice* device = [UIDevice c