设备接到APNS发来的通知处理方式
来源:互联网 发布:php短信轰炸机源码 编辑:程序博客网 时间:2024/04/30 19:48
我们在做远程通知时,从服务端发来的通知,我们的设备状态可以分为几种状态,如下:
1. 应用还没有加载,即应用既不在前台,也不在后台运行
这时如果点击通知的显示按钮,或者是图标icon,会调用didFinishLaunchingWithOptions,不会调用didReceiveRemoteNotification方法。
如果点击通知的关闭按钮,再点击应用,只会调用didFinishLaunchingWithOptions方法。
我们需要做的是在这个方法只能通过关键字获取APNS的消息内容。
//第一次从通知栏进入 if ([[launchOptions allKeys] containsObject:UIApplicationLaunchOptionsRemoteNotificationKey]) { NSDictionary *remoteNotification = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey]; }
2. 应用在前台(foreground)
这时如果收到通知,会触发didReceiveRemoteNotification方法。我们只需要在这个方法中获取对应消息数据,在我们ui层面做相应操作就可以了。我建议的做法是用NSNotificationCenter。
3.应用在后台
(1)此时如果收到消息通知,点击通知栏消息按钮,会调用didReceiveRemoteNotification方法。
(2)通过点击图标icon启动应用,则didFinishLaunchingWithOptions和didReceiveRemoteNotification都不会调用,那么我们就不能通过回调方法获取对应消息内容了,此时的解决办法是,根据发过来通知中的badge进行判断是否有通知,在应用进入后台时,标记当前时间,应用再次启动时,通过我们标记的时间,到目前时间段,在服务端后台做已发消息内容数据的请求。
应用进入后台调用:applicationDidEnterBackground,在此方法中做时间标记
应用启动会调用:applicationWillEnterForeground和applicationDidBecomeActive,做数据请求
1 0
- 设备接到APNS发来的通知处理方式
- 设备接到apns发来的通知
- 接到备案网站的通知
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- 接到面试通知后的准备
- 9.28 在校学习接到老爸发来的飞信了,没得说,永永远远的感动
- Iphone 消息通知(APNS)的3种方式 -- C# 和 nodejs
- APNS推送以及app内部消息处理、本地通知的使用
- 接到新大陆报到通知。
- 苹果的推送通知服务(APNs)
- 关于iOS通知(APNS)的理解
- 第二部分 jQuery选择器
- 浅谈Redis数据库的键值设计
- 使用eclipse 添加user library
- Redis-Dump:将Redis数据导入导出
- 什么是ROM、RAM、DRAM、SRAM和FLASH的区别
- 设备接到APNS发来的通知处理方式
- 输入两个一位十六进制,输出其乘积(8086汇编程序)
- Android利用opensl-es实现录音
- iOS学习笔记12—Runloop
- SVM入门(一)至(三)Refresh
- BigDecimal的应用
- android图像编辑和处理(四)
- [leetcode题后感]combination sum i,ii
- SQL必知必会 笔记 第二十二章 了解高级SQL特性