1、增加一个本地推送
//设置20秒之后 

];

//chuagjian一个本地推送

UILocalNotification *noti =
[[[UILocalNotification alloc] init] autorelease];

if (noti) {

//设置推送时间

noti.fireDate = date;

//设置时区

noti.timeZone = [NSTimeZone defaultTimeZone];

//设置重复间隔

noti.repeatInterval = NSWeekCalendarUnit;

//推送声音

noti.soundName = UILocalNotificationDefaultSoundName;

//内容

noti.alertBody = @"推送内容";

//显示在icon上的红色圈中的数子

;

//设置userinfo 方便在之后需要撤销的时候使用

NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];

noti.userInfo = infoDic;

//添加推送到uiapplication

UIApplication *app = [UIApplication sharedApplication];

[app scheduleLocalNotification:noti];

}

2、程序运行时接收到本地推送消息

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

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"接收到本地提醒 in
app"

message:notification.alertBody

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil];

[alert show];

//这里,你就可以通过notification的useinfo,干一些你想做的事情了

;

}

3、取消一个本地推送

UIApplication *app = [UIApplication sharedApplication];

//获取本地推送数组

NSArray *localArr = [app scheduledLocalNotifications];

//声明本地通知对象

UILocalNotification *localNoti;

if (localArr) {

for (UILocalNotification *noti in localArr) {

NSDictionary *dict = noti.userInfo;

if (dict) {

NSString *inKey = [dict objectForKey:@"key"];

if ([inKey isEqualToString:key]) {

if (localNoti){

[localNoti release];

localNoti = nil;

}

localNoti = [noti retain];

break;

}

}

}

//判断是否找到已经存在的相同key的推送

if (!localNoti) {

//不存在 初始化

localNoti = [[UILocalNotification alloc] init];

}

if (localNoti && !state) {

//不推送 取消推送

[app cancelLocalNotification:localNoti];

[localNoti release];

return;

}

}


  1. 第一步:创建本地推送
  2. // 创建一个本地推送
  3. UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
  4. //设置10秒之后
  5. ];
  6. if (notification != nil) {
  7. // 设置推送时间
  8. notification.fireDate = pushDate;
  9. // 设置时区
  10. notification.timeZone = [NSTimeZone defaultTimeZone];
  11. // 设置重复间隔
  12. notification.repeatInterval = kCFCalendarUnitDay;
  13. // 推送声音
  14. notification.soundName = UILocalNotificationDefaultSoundName;
  15. // 推送内容
  16. notification.alertBody = @"推送内容";
  17. //显示在icon上的红色圈中的数子
  18. ;
  19. //设置userinfo 方便在之后需要撤销的时候使用
  20. NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"];
  21. notification.userInfo = info;
  22. //添加推送到UIApplication
  23. UIApplication *app = [UIApplication sharedApplication];
  24. [app scheduleLocalNotification:notification];
  25. }
  26. 第二步:接收本地推送
  27. - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{
  28. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
  29. [alert show];
  30. // 图标上的数字减1
  31. ;
  32. }
  33. 第三步:解除本地推送
  34. // 获得 UIApplication
  35. UIApplication *app = [UIApplication sharedApplication];
  36. //获取本地推送数组
  37. NSArray *localArray = [app scheduledLocalNotifications];
  38. //声明本地通知对象
  39. UILocalNotification *localNotification;
  40. if (localArray) {
  41. for (UILocalNotification *noti in localArray) {
  42. NSDictionary *dict = noti.userInfo;
  43. if (dict) {
  44. NSString *inKey = [dict objectForKey:@"key"];
  45. if ([inKey isEqualToString:@"对应的key值"]) {
  46. if (localNotification){
  47. [localNotification release];
  48. localNotification = nil;
  49. }
  50. localNotification = [noti retain];
  51. break;
  52. }
  53. }
  54. }
  55. //判断是否找到已经存在的相同key的推送
  56. if (!localNotification) {
  57. //不存在初始化
  58. localNotification = [[UILocalNotification alloc] init];
  59. }
  60. if (localNotification) {
  61. //不推送 取消推送
  62. [app cancelLocalNotification:localNotification];
  63. [localNotification release];
  64. return;
  65. }
  66. }

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

  1. IOS 本地通知 UILocalNotification

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

  2. 本地通知-UILocalNotification

    第一步:创建本地推送 本地通知 UILocalNotification // 创建⼀一个本地推送 UILocalNotification * notification = [[UILocalNotif ...

  3. ios推送:本地通知UILocalNotification

    Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notificati ...

  4. IOS 本地通知UILocalNotification

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

  5. iOS 注冊本地通知(推送)

    注:按Home键让App进入后台执行时.方可查看通知. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithO ...

  6. iOS 进阶---推送通知之本地通知

    1.推送通知的2种方式 1)本地推送通知(Local Notification) 2)远程推送通知(Remote Notification) 2.通知的作用 可以让不在前台运行的app,告知用户app ...

  7. iOS开发本地通知

    /* 本地通知:不通过网络,在本地实现的通知,自己发给自己 远程通知:必须通过网络,使用推送技术(APNs),实现通知 本地通知: 1.要完成可以接收的通知形式的注册 2.具体通知的设置 3.发送通知 ...

  8. iOS10以前的本地通知和远程通知

    一.简介 分为本地推送和远程推送2种.可以在应用没有打开甚至手机锁屏情况下给用户以提示.它们都需要注册,注册后系统会弹出提示框(如下图)提示用户是否同意,如果同意则正常使用:如果用户不同意则下次打开程 ...

  9. UILocalNotification本地通知的使用方法

    本文所写方法主要应用UILocalNotification达到本地推送通知栏信息 取消了其他教程里过期的UIAlertView方法 使用UILocalNotification主要分为创建 调用 取消 ...

随机推荐

  1. Entity Framework Core 2.1 Preview1 新增功能简介

    两个星期前,微软发布了EF Core 2.1 Preview 1,同时还发布了.NET Core 2.1 Preview 1和ASP.NET Core 2.1 Preview 1:EF Core 2. ...

  2. Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

    本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用 ...

  3. Css3关键帧动画

    @keyframes设置动画规则,可以理解为一个剧本: 1.name动画的名字必需填写 2.可以使用百分比0%-100%或者from...to...必填内容: 3.需要变化css的样式:必需: ani ...

  4. 都是SCI惹的祸?

    都是SCI惹的祸? 过去只知道地质学家需要跋山涉水寻找宝藏,最近同一位海外归来的学者谈起,方知少数其它领域的科研人员,也"跋山涉水",在内地研究机构寻找可以写好文章的研究成果,不管 ...

  5. 【BZOJ3527】力(FFT)

    [BZOJ3527]力(FFT) 题面 Description 给出n个数qi,给出Fj的定义如下: \[Fj=\sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{ ...

  6. 部署用于生产的Exceptionlees(一个强大易用的日志收集服务)

    Exceptionless是一个非常优秀的事件记录服务,目前我们的自部署的Exceptionless已经稳定运行了近一年的时间,收集了千万条事件信息.但Exceptionless官方自宿主部署的文档不 ...

  7. SQL添加表字段

    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...

  8. mysql安装过程

      1.到官网下载Mysql,目前最新版都是5.0以上版本,下载之后直接解压即可   2.在终端进入bin目录(如果嫌麻烦可配置环境变量,配置之后则无需进入bin目录则可敲命令),安装数据库服务:my ...

  9. spring+springMVC 整合 MongoDB 实现注册登录

    发现一入手 MongoDB,便无法脱离,简要说一下,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 也是在 Nosql 中我最喜欢的一种 ...

  10. centos6.5的开机自动部署出现unsupported hardware detected

    author:headsen chen date : 2017-12-01  14:52:50  . notice:created by  headsen chen,if you copy or tr ...