关于iOS Push Notification响应的问题
2015-06-15 14:55
489 查看
当server向client投送通知时,client有以下几种情况:
1. 应用程序处于关闭状态,这时通知被显示;无论是点击应用图标还是点击通知,系统都会启动应用,并调用其代理方法,(application:didFinishLaunchingWithOptions:),通过launchOptions来传递通知。
if (launchOptions) {
NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (pushNotificationKey) {
//这里定义自己的处理方式
}
}
2. 应用程序处于background状态,这时通知被显示。如果点击通知,应用调用application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,如果点击应用图标,则不会自动执行上面的方法。
3. 应用程序处于foreground状态,这时通知不会被显示。应用程序直接调用(因为应用在前台)其代理函数application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,传递响应的通知对象。
1. 应用程序处于关闭状态,这时通知被显示;无论是点击应用图标还是点击通知,系统都会启动应用,并调用其代理方法,(application:didFinishLaunchingWithOptions:),通过launchOptions来传递通知。
if (launchOptions) {
NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (pushNotificationKey) {
//这里定义自己的处理方式
}
}
2. 应用程序处于background状态,这时通知被显示。如果点击通知,应用调用application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,如果点击应用图标,则不会自动执行上面的方法。
3. 应用程序处于foreground状态,这时通知不会被显示。应用程序直接调用(因为应用在前台)其代理函数application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,传递响应的通知对象。
相关文章推荐
- iOS中-Xcode Debug、Release、Archive、Profile、Analyze的概念和区别
- ios-时钟动画小案例
- iOS开发 纯代码适配技巧 baseViewController
- 浅谈 iOS 版本号
- iOS Crash文件的解析(一、符号化Crash文件)
- iOS Crash文件的解析(一、分析Crash文件)
- iOS 中的 CFBundleShortVersionString 与 CFBundleVersion
- IOS开发之利用通知(NSNotification)进行数据传递
- IOS第三方之MBProgressHUD
- iOS通过iTunes search检测版本更新,并提示用户更新!
- iOS文字 转 语音
- iOS 第三方开源库----->AFNetworking
- IOS通知机制(NSNotification)
- iOS开发笔记--公司开发者账号申请详细教程
- 16进制的颜色怎么转换为我们iOS所用的RGB颜色
- iOS开发笔记--常用正则表达式
- IOS应用开发版本控制工具之Versions使用
- iostream.cpp
- iOS——隐藏各种bar
- iOS知识小集 第一期(2015.05.10)