用户通过点击通知(包括本地和远程通知)打开应用时,
在不同的情况下,会调用不同的方法.其实也是比较简单,在此记录一下,备忘
注意:如果程序在前台运行,将无法看到任何通知(本地或者远程)
本地通知
在 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];
网友评论