iOS 本地推送
时间:2018-03-04 18:05:17来源:杰瑞文章网点击:作文字数:300字
作文导读:三八妇女节到了,早上,我吃过饭去上学。 走在路上,我仔细观察,有赶班的,有送孩子去幼儿园的,有送学生去上学,还有吃早饭的。虽然,都忙忙碌碌的,但是,每位妇女都打扮得漂漂亮亮的,脸上都露出幸福的表情。我想:她们肯定都知道今天是自己的节日吧。
iOS 本地推送
概念
1.推送通知有5种不同的呈现效果
在屏幕顶部显示一块横幅(显示具体内容)
在屏幕中间弹出一个UIAlertView(显示具体内容)
在锁屏界面显示一块横幅(锁屏状态下,显示具体内容)
更新app图标的数字(说明新内容的数量)
播放音效(提醒作用)
2.用户也可以决定是否要开启以下4个功能:
显示App图标数字
播放音效
锁屏显示
显示在“通知中心”
3、注意:
发送推送通知时,如果程序正在前台执行,那么推送通知就不会被呈现出来,但是微信在前台的时候也能推送消息,方法是:创建一个view,仿造系统消息通知的样式向下出现,点击后回到根控制器再进行跳转(注意压栈)
点击通知会打开该通知的app
不管程序打开还是关闭,推送都能如期发出
步骤:
1.创建本地通知对象
UILocalNotification *localNotifi = [UILocalNotification new];
2、设置属性
3、调度本地通知 (将本地通知加入本地通知调度池,iOS 7 到这一步完毕,不需要授权)
[[UIApplication sharedApplication] scheduleLocalNotification:localNotifi];
4、 注册通知权限(多个通知只需一次, 建议放在AppDelegate 的
didFinishLaunchingWithOptions方法中) ,iOS8以后必须需要用户授权才可以发送通知
授权效果
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
参数:
settingsForTypes 通知需要更改的东西,可以修改多个地方,
UIUserNotificationType 枚举:
UIUserNotificationTypeNone = 0,
UIUserNotificationTypeBadge = 1 << 0,
//图标标记UIUserNotificationTypeSound = 1 << 1, //声音
UIUserNotificationTypeAlert = 1 << 2, //提醒
categories:用于添加下拉快速回复功能,下面有介绍
5、删除通知(如果设置了 repeatInterval 重复属性,注意手动删除通知对象)
两种方式:
(1)删除当前程序注册的所有通知,不重复的也会被取消
[[UIApplication sharedApplication] cancelAllLocalNotifications];
(2) 删除指定的通知,一般用于取消重复的通知或者还没有被调用的通知,先获取通知,再遍历根据条件去删除(条件是 UserInfo 的值,是发送通知时所携带的参数)
NSArray *notifiArray = [[UIApplication sharedApplication] scheduledLocalNotifications];for (UILocalNotification *local in notifiArray) {
//将来可以根据UserInfo的值,来查看这个是否是你想要删除的通知
if (local.userInfo) { //删除单个通知
[[UIApplication sharedApplication]cancelLocalNotification:local];
}
}
UIApplication 方法
1、调度本地推送通知(调度完毕后,推送通知会在特定的时间fireDate发出)
[[UIApplication sharedApplication] scheduleLocalNotification:localNotifi];
2、获取被调度的所有本地推送通知
注意:已经发出且过期的推送通知就算调度结束,会自动从这个数组中移除
@property(nullable,nonatomic,copy) NSArray *scheduledLocalNotifications;
3、取消调度本地推送通知
(void)cancelAllLocalNotifications;
(void)cancelLocalNotification:(UILocalNotification *)notification;
4、立即发出本地推送通知
[[UIApplication sharedApplication]presentLocalNotificationNow:localNotifi];

iOS 本地推送一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!
杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。
说说你对这篇作文的看法吧