UILocalNotification本地通知介绍

iOS本地推送通知UILocalNotification(可以用做类似闹钟提醒) 在做项目的时候遇到这样一个需求,写一个备忘录,可以设定闹钟提醒。 然后闹钟提醒怎样做,查了查查到的都是使用本地通知,然后就使用UILocalNotification实现的功能 使用UILocalNotification实现本地推送,类似于闹钟提醒功能。 阅读详情

Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象加入到系统Notification管理机制队列中,系统会在指定的时间激发将本地Notification,应用只需设计好处理Notification的方法就完成了整个Notification流程了。
本地Notification所使用的对象是UILocalNotification,UILocalNotification的属性涵盖了所有处理Notification需要的内容。UILocalNotification的属性有fireDate、timeZone、repeatInterval、repeatCalendar、alertBody、alertAction、hasAction、alertLaunchImage、applicationIconBadgeNumber、soundName和userInfo。

UILocalNotification的调度
其中fireDate、timeZone、repeatInterval和repeatCalendar是用于UILocalNotification的调度。fireDate是UILocalNotification的激发的确切时间。timeZone是UILocalNotification激发时间是否根据时区改变而改变,如果设置为nil的话,那么UILocalNotification将在一段时候后被激发,而不是某一个确切时间被激发。repeatInterval是UILocalNotification被重复激发之间的时间差,不过时间差是完全根据日历单位(NSCalendarUnit)的,例如每周激发的单位,NSWeekCalendarUnit,如果不设置的话,将不会重复激发。repeatCalendar是UILocalNotification重复激发所使用的日历单位需要参考的日历,如果不设置的话,系统默认的日历将被作为参考日历。
UILocalNotification的提醒内容
alertBody、alertAction、hasAction和alertLaunchImage是当应用不在运行时,系统处理
 
UILocalNotification提醒是需要的内容。alertBody是一串现实提醒内容的字符串(NSString),如果alertBody未设置的话,Notification被激发时将不现实提醒。alertAction也是一串字符(NSString),alertAction的内容将作为提醒中动作按钮上的文字,如果未设置的话,提醒信息中的动作按钮将显示为“View”相对文字形式。alertLaunchImage是在用户点击提醒框中动作按钮(“View”)时,等待应用加载时显示的图片,这个将替代应用原本设置的加载图片。hasAction是一个控制是否在提醒框中显示动作按钮的布尔值,默认值为YES。

UILocalNotification的其他部分
applicationIconBadgeNumber、soundName和userInfo将使UILocalNotification更完整。applicationIconBadgeNumber是显示在应用图标右上角的数字,这样让用户直接了解到应用需要处理的Notification。soundName是另一个UILocalNotification用来提醒用户的手段,在Notification被激发之后将播放这段声音来提醒用户有Notification需要处理,如果不设soundName的话,Notification被激发是将不会有声音播放,除去应用特制的声音以外,也可以将soundName设为UILocalNotificationDefaultSoundName来使用系统默认提醒声音。userInfo是Notification用来传递数据的NSDictionary。

登记UILocalNotification
在设置完UILocalNotification对象之后,应用需要在系统Notification处理队列中登记已设置完的UILocalNotification对象。登记UILocalNotification * localNotification的方式为:
   [[UIApplication sharedApplication]  scheduleLocalNotification:localNotification];
在有些时候,应用可能需要直接激发一个Notification而不是等一段时间在激发,应用可以以下的方式直接触发已设好的Notification:
   [[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
处理UILocalNotification
在提醒框动作按钮被点击后,应用开始运行时,可以在-(BOOL)application:didFinishLaunchingWithOptions:这个Application delegate方法中处理。可以通过以下方式来加载为最近未处理的Notification:
   UILocalNotification * localNotif=[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
如果应用正在运行时,可以通过覆盖在Application Delegate中的方法-(void)application:didReceiveLocalNotification:来处理Notification。作为方法的第二个参数为UILocalNotification对象,只需处理对象携带的userInfo来处理响应的动作。
取消UILocalNotification
可以使用以下两个方式来取消一个已经登记的Notification,第一个方式可以直接取消一个指定的Notification,第二个方式将会把该应用已登记的Notification一起取消
   [[UIApplication sharedApplication] cancelLocalNotification:localNotification];
   [[UIApplication sharedApplication] cancelAllLocalNotification];
总结
本地Notification的机制在应用开发中非常有效,可以很好的帮助开发者管理一些指定时间需要发生的事件,例如闹钟类的应用。而且因为系统统一对Notification的管理,让同样的任务可以非常简单得被处理,而无需让应用浪费资源去等待事件的触发。

对本地通知的数量限制,iOS最多允许最近本地通知数量是64个,超过限制的本地通知将被iOS忽略。

代码:

// 执行通知一定要退出应用或挂起应用(进入后台)才能收到通知。

// 创建本地通知

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

// 通知触发时间

// 10秒钟之后触发
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];

// 通知时区

// 使用本地时区
notification.timeZone = [NSTimeZone defaultTimeZone];

// 通知提示内容

notification.alertBody = @"你收到一个通知";

// 通知提示音

//使用默认的通知提示音
notification.soundName = UILocalNotificationDefaultSoundName;

// 应用程序右上角显示的数字

notification.applicationIconBadgeNumber = 2;

// 数据字典

notification.userInfo = @{@"userName": @"JIM", @"age": @(11)};

// 启动这个通知

[[UIApplication sharedApplication] scheduleLocalNotification:notification];

// 进入前台,清除右上角图标

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [application setApplicationIconBadgeNumber:0];
}

// 点顶端通知进入应用

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"标题" message:notification.userInfo[@"userName"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
    [alert show];
}

 // 清除当前应用所有通知

[[UIApplication sharedApplication] cancelAllLocalNotifications];

iPhone/iPad开发通过LocalNotification实现iOS定时本地推送功能 通过iOS的UILocalNotification Class可以实现本地app的定时推送功能,即使当前app是后台关闭状态。  可以实现诸如,设置app badgenum,弹出一个alert,播放声音等等,实现很简单  UILocalNotification *notification=[[UILocalNotification alloc] init]; if (notification!=nil) { NSDate *now=[NSDate new]; notification.fireDate=[now dateByAddingTimeInterval:15]; n 立即下载

相关推荐

保姆级教程:用PCAN-View监控汽车CAN总线,从硬件连接到报文分析(附快捷键大全)

本文提供了一份详细的PCAN-View使用教程,涵盖从硬件连接到报文分析的全流程,特别适合汽车电子工程师和初学者。内容包括硬件准备、软件安装、核心功能操作、高级技巧及故障排查,并附有实用的快捷键大全,帮助用户高效监控和分析CAN总线数据。

weixin_42542669的博客 497

ios的Notification的使用

iOS下的Notification的使用 2011年03月09日 ⁄ 开发指南, 微博发布 ⁄ 暂无评论 ⁄ 被围观 1,274 views+ Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类

1285

STM32硬件SPI驱动ADS1255/1256避坑指南:从Cube MX配置到稳定采样实战

本文详细解析了使用STM32硬件SPI驱动高精度ADC芯片ADS1255/1256的完整流程与关键陷阱。重点阐述了Cube MX中SPI模式(必须为CPOL=1, CPHA=1)、数据帧格式(MSB First)及波特率(建议从256kHz起)的正确配置,并提供了分步读写时序的代码实现与逻辑分析仪调试方法,帮助开发者避开常见坑点,实现稳定可靠的高精度数据采样。

weixin_29193259的博客 360

iOS 推送通知:本地通知(UILocalNotification)和远程通知(APNs)详解

——本地推送通知推送通知的作用?在App退到后台或者完全退出时,可以使用通知来告诉用户某件事情,比如推送新的聊天消息、新闻等通知对应的效果: 在主屏幕的顶端会出现通知消息 当手机锁屏时出现在锁屏界面,可以通过滑动打开该App, 在通知中心中出现推送的消息 App图标会有微标值① badgeValue 推送通知提示音 注意: 发送通知时,如果程序正在前台允许,那么推送通知UI就不会显示出来;点击通

人不风流枉少年 1万+

GEE去云处理代码段解读(位运算)

GEE去云处理代码段解读,包含位运算符号解读、bitwiseAnd()函数、eq()函数解读

jiekeheiguanglan的博客 2067

win2012 r2 + IIS8.5 伪静态设置脚本映射

win2012 r2 + IIS8.5 伪静态设置脚本映射,网站用的.net fromwork 2.0 ,应用程序池设置了32位支持

xueking87的专栏 3240

iOS---本地推送通知UILocalNotification(可以用做类似闹钟提醒)

转自:https://blog.youkuaiyun.com/G_eorge/article/details/50915647    正确的每周重复间隔是 NSCalendarUnitWeekOfYear! 在做项目的时候遇到这样一个需求,写一个备忘录,可以设定闹钟提醒。 然后闹钟提醒怎样做,查了查查到的都是使用本地通知,然后就使用UILocalNotification实现的功能。 UILocalN...

iotjin的专栏 1790

2025趋势:经济学研究中AI多智能体系统的6大架构方向(AI应用架构师必藏)

多智能体系统(MAS)由多个相互作用的智能体组成,每个智能体具备自主决策能力、感知环境的能力和与其他智能体通信的能力。微观行为的精细化建模:智能体可被赋予异质的偏好函数、信息集和决策规则,模拟真实市场的多样性动态交互的涌现性分析:通过智能体间的局部互动(如交易、合作、竞争),观察宏观经济现象的涌现过程反事实政策实验:在虚拟环境中安全测试极端政策(如负利率、全民基本收入)的连锁反应实时自适应调整:智能体可通过机器学习持续优化策略,模拟经济系统的演化特性。

AI 领航者的博客 1424

UILocalNotification本地通知

通知和应用是分别处理的,应用程序调度了通知之后,即便被关掉,仍然能够在指定的调度时间被触发。    通常在使用本地通知时,是在应用程序退出到后台时来调度的。    应用程序退出到后台之后,会在内存中驻留10分钟的时间,过了10分钟之后,系统会自动清理应用程序,  被清理之后,再次运行时,才会调用application:didFinishLaunchingWithOptions:方法。

BianHuanShiZhe的专栏 473

利用VBA宏实现LightTools仿真数据自动化导出至Excel

本文详细介绍了如何利用VBA宏实现LightTools仿真数据自动化导出至Excel的完整流程。通过调用LTAPI接口,工程师可以自动执行仿真、抓取照度与光强等数值数据、捕获并粘贴仿真图像,从而将重复性工作自动化,显著提升光学设计工作的效率和准确性。

weixin_28314575的博客 500

【网络教程】Ubuntu有线连接消失,无法联网怎么办!(亲测有效!)

文章目录问题描述解决方案 问题描述 今天打开Ubuntu,突然发现无法连接网络,并且打开设置,发现设置里面的网络已经没有了有线连接,只有VPN设置选项,如图 解决方案 按照下列的代码执行即可! # 关闭网路 service NetworkManager stop # 删除NetworkManager缓存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state # 打开网络 service NetworkManager start 运行完

XiaoqiangClub的博客 1万+

UILocalNotification详解

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

逢个场,作个戏 1946

SAP Fiori Launchpad Tile,UI5 应用,和 PFCG Role 的对应关系

问题:已经看到了SAP Fiori Launchpad上的某个tile,如何反推后台需要配置哪个PFCG Role才能看到该tile? 这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概要介绍。 下图是一个Gateway系统上打开的SAP CRM Fiori Launchpad: 如何弄清楚后台用户配置了哪个PFCG Role之后,才能看到Sales Representative(CRM)这个Group下的tile? 既然当前我使用的用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1520

iOS --- 本地推送通知 UILocalNotification

本地推送UILocalNotification常用于定期提醒用户使用该APP,如AirBrush的定期提醒用户拍照,运动锻炼工具的每天锻炼提醒。不同于远程推送RemoteNotification,本地推送一般较固定,通常事先设置好推送周期。而推送内容往往也是固定的,可存放于plist文件中。本地推送并不依赖于网络连接,可简单将其视为一个定时装置即可。

icetime17的专栏 2284

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

iOS开发之UILocalNotification本地通知

在实际iOS开发中,都会用到,iOS的通知有本地通知和远程通知两种。 在这里介绍一下iOS下如何使用UILocalNotification进行应用程序的本地通知,基本上大部分的app都会有这个功能。 (1)本地通知中心发送消息: UILocalNotification *notification=[[UILocalNotification alloc] init]; if (

sky_2016的专栏 661

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

UILocalNotification 本地通知

//UILocalNotification 本地通知 // 1.创建初始化本地通知 UILocalNotification *localNotification = [[UILocalNotification alloc] init]; // 2.设置属性 // 2.1 设置标题 localNotification.alertA

213

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IOS实现本地通知

iOS实现本地通知 本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个应用,在后台运行,向应用的服务器端获取消息,当消息到达时,比如下载更新版本的提示消息,通过本地通知机制通知用户。 本地通知是UILocalNotification的实

Li_Huifeng的专栏 5030

iOS学习笔记45—本地通知UILocalNotification

在iOS中有两类信息提示推送方式,一类是远程服务器推送(APNS),之前有笔记中介绍过APNS:http://blog.youkuaiyun.com/tangren03/article/details/8482259,还有一类就是本地通知UILocalNotification,今天就简要的记录一下UILocalNotification的使用,代码里见注释 UILocalNotification *not

Ryan's zone 1万+

添加本地通知事件

UILocalNotification *notification=[[UILocalNotification alloc] init]; if (notification!=nil) { NSLog(@">> support local notification");

StudyRecord的专栏 2382

Ios开发中UILocalNotification实现本地通知实现提醒功能

苹果手机开发中的信息提示推送方式,一类是远程服务器推送(APNS)与UILocalNotification本地通知的,下面我来介绍第二种的使用方法。 这两天在做一个日程提醒功能,用到了本地通知的功能,记录相关知识如下: 1、本地通知的定义和使用: 本地通知是UILocalNotification的实例,主要有三类属性: scheduled time,时...

diaomu2002的博客 150

iOS本地推送与取消本地通知—UILocalNotification的使用

iOS本地推送与取消本地通知—UILocalNotification的使用 标签:取消本地推送本地推送UILocalNotification 2013-10-21 17:357042人阅读评论(0)收藏举报 分类: iOS编程(34) 版权声明:本文为博主原创文章,未经博主允许不得转载。 1.首先我们初始化一个 UISwit...

weixin_30511039的博客 489

iOS推送:本地通知UILocalNotification

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

青春的岁月流逝 839

UILocalNotification一本地通知

在 ios 开发中,经常会使用到通知的功能。而通知又分为本地通知和远程通知。远程通知的实现有很多中,可以利用第三方实现。本文主要介绍本地通知的使用,远程通知会在后面给大家介绍。要实现本地通知的功能很简单,只需要一个类就够了。这个类就是UILocalNotification。通过它就能轻轻松松实现本地通知的功能。下面直接上代码 /** * 设置本地通知 */ - (void)settingN

P了个K 455

iOS UILocalNotification本地通知

介绍一下iOS下如何使用UILocalNotification进行应用程序的本地通知,基本上大部分的app都会有这个功能。      我们在设置的通知中心中可以自定义本地通知的三种形式(分别是在ios6和ios7):                         下面给出简单代码看看如何使用UILocalNotification: (1)本地通知中心发

glary 622

iOS开发之通知机制(一)本地通知(UILocalNotification)

苹果中一般包括广播通知、本地通知、推送通知三种通知机制。 而关于广播通知的,其实就是观察者模式的使用,我已经在以下这篇文章中写过了 http://blog.youkuaiyun.com/aa19920630/article/details/43450893 接下来我们来谈谈本地通知,本地通知的消息会在你的苹果设备上显示出通知信息。而且也可以设置在应用的图标中显示消息数目。 本地通知主要使用UILoca

waking、 578

iOS: 本地通知(UILocalNotification )的应用

iOS: 本地通知(UILocalNotification )的应用   2014-07-02 08:02:30|  分类: iOS之美 |  标签:ios  localnotification  本地通知  |举报|字号 订阅 在iOS中,为了在特定场景下给用户弹出一个提醒, 会用到 本地通知(UILocalNotification)。 localnoti

IOS进阶 580
上一篇: C/C++中的五个预定义的宏名
下一篇: iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
LIN1986LIN
博客等级 码龄19年 17粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值