本地推送通知

简介: 本地推送通知

本地推送通知


通知的显示方式

db60d9e7e68bfcfca3e90cb9b194389e.png

Snip20170508_2.png

06a139e0b87479478bafcb0c96debec6.png

Snip20170508_3.png

c7a41c5d1733de329bf29c75cb346d40.png

Snip20170508_4.png

总结一下,推送通知有5种不同的呈现效果

在屏幕顶部显示一块横幅(显示具体内容)
在屏幕中间弹出一个UIAlertView(显示具体内容)
在锁屏界面显示一块横幅(锁屏状态下,显示具体内容)
更新app图标的数字(说明新内容的数量)
播放音效(提醒作用)

f14548d67b78d2f8157c97b426be3e64.pngSnip20170508_5.png

bd25e36574b5f317aa82accc968d8cd4.png

Snip20170508_6.png

注意⚠️

发出推送通知时,如果程序正运行在前台,那么推送通知就不会被呈现出来

点击推送通知后,默认会自动打开发出推送通知的app

不管app打开还是关闭,推送通知都能如期发出

代码

// 1.创建本地推送通知对象
    UILocalNotification *ln = [[UILocalNotification alloc] init];
    // 2.设置通知属性
    // 音效文件名
    ln.soundName = @"buyao.wav";
    // 通知的具体内容
    ln.alertBody = @"网易新闻:xxxx xxxx被调查了....";
    // 锁屏界面显示的小标题("滑动来" + alertAction)
    ln.alertAction = @"查看新闻吧";
    // 通知第一次发出的时间(5秒后发出)
    ln.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
    // 设置时区(跟随手机的时区)
    ln.timeZone = [NSTimeZone defaultTimeZone];
    // 设置app图标数字
    ln.applicationIconBadgeNumber = 5;
    // 设置通知的额外信息
    ln.userInfo = @{
                    @"icon" : @"test.png",
                    @"title" : @"网易新闻",
                    @"time" : @"2017-05-8 11:19",
                    @"body" : @"网易新闻:答复后即可更换就肯定会尽快赶快回家的疯狂估计很快将发的"
                    };
    // 设置启动图片
    ln.alertLaunchImage = @"Default";
    // 设置重复发出通知的时间间隔
//    ln.repeatInterval = NSCalendarUnitMinute;
    // 3.调度通知(启动任务)
    [[UIApplication sharedApplication] scheduleLocalNotification:ln];

c54c4d238ebfe50d7d8dd506c9c29873.png

Snip20170508_8.png

d5a2abdaab86e7147582fc16bc585280.png

Snip20170508_9.png

本地推送通知的使用场景

常用来定时提醒用户完成一些任务,比如
清理垃圾、记账、买衣服、看电影、玩游戏


相关文章
|
人工智能 数据可视化 数据挖掘
AI时代浪潮来袭,项目经理如何应对?
AI时代,项目经理如何顺势而为、保持核心竞争力?从角色升级到技能转型,文章揭示AI对项目管理的深刻影响,并提供项目经理应对未来的关键策略。
303 4
|
机器学习/深度学习 监控 自动驾驶
基于深度学习的动态场景理解
基于深度学习的动态场景理解是一种通过计算机视觉技术自动分析和解释动态环境中物体、事件和交互的能力。该技术在自动驾驶、智能监控、机器人导航、增强现实等领域有着广泛应用。
339 1
|
数据安全/隐私保护 Windows
rk3588 香橙派 vncserver连接 图形界面远程登陆
rk3588 香橙派 vncserver连接 图形界面远程登陆
717 1
|
存储
【栈和队列高频考点题】(一)
【栈和队列高频考点题】(一)
175 0
|
NoSQL IDE Unix
Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具(2)
Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具(2)
277 0
|
Linux
【详解委派攻击】1.非约束性委派
当某个域内用户user1访问到开启了非约束委派的服务时,该服务可以获取user1用户的 TGT ,并将该TGT 缓存到 LSASS 进程中,从而服务账号可使用该 TGT ,模拟user1用户去访问任意服务(前提得是user1能访问到的服务)
581 0
【详解委派攻击】1.非约束性委派
|
JavaScript
AngularJS学习(一)
要使用 AngularJS,您需要首先引入 angular.js 文件。这可以通过在 HTML 文件中使用<script>标签来实现:
|
Java C++
都说变量有七八种,到底谁是 Java 的亲儿子(一)
变量是我们经常用到的一种,我在刚学 Java 的时候,也经常被各种变量的概念折磨,当时并没有细抠,但是我在写一篇类似的文章中,想把变量作为一种小标题来简述一下,但是发现,变量这个概念还是比较繁琐的,本篇文章就来深入认识一下 Java 中这些变量的概念。
都说变量有七八种,到底谁是 Java 的亲儿子(一)
|
SQL 容器
Beego models之三
使用SQL语句进行查询 在实际生产中,各种业务逻辑,model不能很好的满足需求,所以就可以使用原生的sql。当然,如果你对sql比较熟悉,你会发现orm有时候没有原生sql来的灵活,下面介绍beego的原生sql。
2207 0