iOS如何对本地通知进行处理(当没有打开APP时怎么处理收到的通知)
2016-05-25 12:26
627 查看
当你收到通知时,有两种状态。
1、程序在活跃状态,或者是后台。
这时候当你收到通知,就会走下面两个方法:
2、当你的APP已经被杀死了。
这时候来了通知,你点击通知栏或者APP图标进入程序的话,上面的两个方法显然就不走了啊。但是他一定会走这个方法:
这里的launchOptions 显然是个字典。而有对应的KEY,通过apple提供的这个KEY,能取到通知的内容。再做对应的操作就好了:
1、程序在活跃状态,或者是后台。
这时候当你收到通知,就会走下面两个方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if (application.applicationState == UIApplicationStateActive) { [JPUSHService setBadge:0]; } //对收到的信息 进行 符合自己业务的 操作 [self _operateLocalNotificationByUserInfo:userInfo]; } //iOS 7 Remote Notification - (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo fetchCompletionHandler:(void (^) (UIBackgroundFetchResult))completionHandler { if (application.applicationState == UIApplicationStateActive) { [JPUSHService setBadge:0]; } //对收到的信息 进行 符合自己业务的 操作 [self _operateLocalNotificationByUserInfo:userInfo]; }
2、当你的APP已经被杀死了。
这时候来了通知,你点击通知栏或者APP图标进入程序的话,上面的两个方法显然就不走了啊。但是他一定会走这个方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
这里的launchOptions 显然是个字典。而有对应的KEY,通过apple提供的这个KEY,能取到通知的内容。再做对应的操作就好了:
//判断是否有通知 UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (notification != nil) { NSDictionary *userInfo = notification.userInfo; if (application.applicationState == UIApplicationStateActive) { [JPUSHService setBadge:0]; } //这里是我的业务,与此问题没关系,您需要 根据您自己的业务 [self _operateLocalNotificationByUserInfo:userInfo]; }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- android中创建通知栏Notification代码实例
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- Android开发之禁止下拉通知栏的方法