关于iOS Push Notification响应的问题

当server向client投送通知时,client有如下几种状况:app

1. 应用程序处于关闭状态,这时通知被显示;不管是点击应用图标仍是点击通知,系统都会启动应用,并调用其代理方法,(application:didFinishLaunchingWithOptions:),经过launchOptions来传递通知。函数

if (launchOptions) {代理

NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];server

        if (pushNotificationKey) {对象

            //这里定义本身的处理方式it

        }io

}cli

2. 应用程序处于background状态,这时通知被显示。若是点击通知,应用调用application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,若是点击应用图标,则不会自动执行上面的方法。object

 

3. 应用程序处于foreground状态,这时通知不会被显示。应用程序直接调用(由于应用在前台)其代理函数application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,传递响应的通知对象。程序

相关文章
相关标签/搜索