发送通知:

UILocalNotification *newNotification = [[UILocalNotification alloc] init];

if (newNotification) {

//时区

newNotification.timeZone=[NSTimeZone defaultTimeZone];

//推送事件---10秒后

newNotification.fireDate=[[NSDate date] dateByAddingTimeInterval:10];

//推送内容

newNotification.alertBody = @"信号报警";

//应用右上角红色图标数字

newNotification.applicationIconBadgeNumber = 1;

注:

//1:格式一定要支持播放,常用的格式caf

//2:音频播放时间不能大于30秒

//3:在Resource里要找到音频文件,倒入时最好能点项目名称右键add导入

newNotification.soundName = @"jingBao2.caf";

//设置按钮

newNotification.alertAction = @"关闭";

//判断重复与否

newNotification.repeatInterval = NSWeekCalendarUnit;

//存入的字典,用于传入数据,区分多个通知

NSMutableDictionary *dicUserInfo = [[NSMutableDictionary alloc] init];

[dicUserInfo setValue:@"" forKey:@"clockID"];

float floatHeng = userLocation.location.coordinate.latitude;

float floatShu = userLocation.location.coordinate.longitude;

[dicUserInfo setValue:[NSString stringWithFormat:@"%f",strX] forKey:@"heng"];

[dicUserInfo setValue:[NSString stringWithFormat:@"%f",strY] forKey:@"shu"];

newNotification.userInfo = [NSDictionary dictionaryWithObject:dicUserInfo forKey:@"dictionary"];

[dicUserInfo release];

[[UIApplication sharedApplication] scheduleLocalNotification:newNotification];

}

NSLog(@"Post new localNotification:%@", newNotification);

[newNotification release];

[pool release];

取消通知:

通知完一定要取消,IOS最多允许最近本地通知数量是64个,超过限制的本地通知将被忽略。

1:删除应用所有通知

[[UIApplication sharedApplication] cancelAllLocalNotifications];

2:根据字典删除个别通知

key:发送通知时候传入的字典值来判断是哪个推送

for (int i=0; i<[myArray count]; i++) {

UILocalNotification    *myUILocalNotification=[myArray objectAtIndex:i];

if ([[[myUILocalNotification userInfo] objectForKey:@"key"] intValue]==@"字典值") {

[[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification];

}

}

通知执行完调用的方法 AppDelegate.m类里面

//推送完 执行的事件

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{

//notification是发送通知时传入的字典信息

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"标题" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[alert show];

[alert release];

}

最后还有一个地方:执行通知一定要退出应用才能收到通知。

IOS本地通知的更多相关文章

  1. IOS 本地通知 UILocalNotification

    IOS 本地通知 UILocalNotification [本文章第四部分中的代码逻辑来自网上的借鉴,并非我自己原创] 大概一个月前,我开始跟着做IOS项目了.学习C++,了解Objective-C, ...

  2. iOS 本地通知 操作

    iOS 本地通知 操作 1:配置通知:然后退出程序: UILocalNotification *localNotif = [[UILocalNotification alloc] init]; loc ...

  3. IOS本地通知:UILocalNotification使用记录

    第一次接触IOS的本地通知的使用,看到别人写的一个比较详细的记录,自己整理过来,方便以后再次使用和拓展: 1.创建一个本地通知,添加到系统: // 初始化本地通知对象 UILocalNotificat ...

  4. xamarin.ios 本地通知推送

    由于ios10版本以后UILocalNotification被标为弃用了,所以要添加新的本地通知推送功能,下面提供一些代码参考. 一.先在AppDelegate.cs上注册本地通知推送功能. publ ...

  5. iOS: 本地通知的前后变化(iOS10)

    一.介绍  通知和推送是应用程序中很重要的组成部分.本地通知可以为应用程序注册一些定时任务,例如闹钟.定时提醒等.远程推送则更强大,提供了一种通过服务端主动推送消息到客户端的方式,服务端可以更加灵活地 ...

  6. IOS 本地通知推送消息

    在现在的移动设备中,好多应用性的APP都用到了推送服务,但是有好多推送的内容,比如有的只是单纯的进行推送一个闹钟类型的,起了提醒作 用,有的则是推送的实质性的内容,这就分为推送的内容来区别用什么推送, ...

  7. IOS 本地通知

    操作流程 1.接收通知 2.注册发送通知 用途:提示时间,闹钟 //接收本地通知(在Appdelegate里面实现) - (void)application:(UIApplication *)appl ...

  8. iOS(本地通知与远程通知)

    iOS 推送通知有两种:本地推送.远程推送. 本地推送 :  在不需要联网的情况下,由APP发出推送,常用于某一时刻的通知,如闹钟.本地通送有局限性在于当APP处于后台或者退出时就无法发出通知. 远程 ...

  9. IOS 本地通知UILocalNotification

    //发送通知    UILocalNotification *notification=[[UILocalNotification alloc] init];       if (notificati ...

随机推荐

  1. 使用.NET Framework的配置文件app.config

    在一般的项目中,为了使你的代码更加灵活,更方便调整,减少不必要的hard code,我们都在config中添加许多配置信息,一般可以选择.NET自带的配置文件形式app.config或者web项目中的 ...

  2. Win10 安装Vs2015 社区版和企业版各个问题汇总

    1.前提下已经下载ISO文件 2.你的电脑没有连接网络或者你使用了宽带通类似的运营商网络. 3.你确保你正确安装了win10 并且已经激活 出现的问题如下 一.当你安装离线下载的ISO for Vs2 ...

  3. CodeIgniter类的使用

    Email 类 在配置文件中设置 Email 参数 如果您不想使用使用上述方法设定参数,您可以把它们放入一个配置文件.创建一个新文件称为email.php ,添加$config数组在该文件中.然后将该 ...

  4. [J2EE] 在Web如何取得相关路径

    来自网络,自己整整一下: request.getRealPath("url"); // 虚拟目录映射为实际目录,不建议使用,使用ServletContext.getRealPath ...

  5. 静态内容生成器——Wyam

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:今天继续静态网站的话题,介绍我选用的一个使用.NET开发的静态内容生成器--Wyam. ...

  6. 把浏览器的私有模式添加到VS中

    题记:在用VS进行Web开发的时候,常常希望VS的调试不会对浏览器造成固定的影响,那么使用浏览器的私有模式来启动就很有必要. 前几天SCOTT HANSELMAN分享了一个开发Web应用程序的小技巧, ...

  7. 深入理解计算机中的 csapp.h和csapp.c

    csapp.h其实就是一堆头文件的打包,在http://csapp.cs.cmu.edu/public/code.html 这里可以下载.这是<深入理解计算机系统>配套网站. 在头文件的# ...

  8. LoadRunner 脚本学习 -- 动态储存方式和静态储存方式

    我们在定义变量是,根据定义的位置不同,分为全局变量与局部变量.我出生在一个叫“舞阳”的小县城,在这个县城中也有人名“舞阳”,前一个作用于整个县城,后一个只作用于他个人.那么从变量值的存在生存期角度,又 ...

  9. cvKMeans2函数用法概述

    一般情况下,我们通过C++/Matlab/Python等语言进行实现K-means算法,结合近期我刚刚学的C++,先从C++实现谈起,C++里面我们一般采用的是OpenCV库中写好的K-means函数 ...

  10. Liferay 6.2 改造系列之四:重新整理Application添加页面默认提供的Portlet清单

    经过2.3两步后,剩余Portlet已经不多,添加Application页面如下: 将用不到的Portlet隐藏起来:11   Portal目录 (Portal Directory) 将内嵌Protl ...