点击通知调用的协议方法

用户通过点击通知(包括本地和远程通知)打开应用时,
在不同的情况下,会调用不同的方法.其实也是比较简单,在此记录一下,备忘

注意:如果程序在前台运行,将无法看到任何通知(本地或者远程)

本地通知

在 AppDelegate中
A. 如果程序尚未退出 (在后台)则调用
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

B. 如果程序已经退出,则是调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
其实所有程序刚打开,均会执行这个方法,对本地通知而言,特别之处是在参数 launchOptions中,UIApplicationLaunchOptionsLocalNotificationKey 是有值的. 用法
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

远程通知 - 推送

在 AppDelegate中
A. 如果程序尚未退出 (在后台)则调用
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

B. 如果程序已经退出,则是调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
其实所有程序刚打开,均会执行这个方法,对本地通知而言,特别之处是在参数 launchOptions中,UIApplicationLaunchOptionsRemoteNotificationKey 是有值的. 用法[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

你可能感兴趣的:(点击通知调用的协议方法)