用戶通過(guò)點(diǎn)擊通知(包括本地和遠(yuǎn)程通知)打開應(yīng)用時(shí),
在不同的情況下,會(huì)調(diào)用不同的方法.其實(shí)也是比較簡(jiǎn)單,在此記錄一下,備忘
注意:如果程序在前臺(tái)運(yùn)行,將無(wú)法看到任何通知(本地或者遠(yuǎn)程)
本地通知
在 AppDelegate中
A. 如果程序尚未退出 (在后臺(tái))則調(diào)用
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
B. 如果程序已經(jīng)退出,則是調(diào)用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
其實(shí)所有程序剛打開,均會(huì)執(zhí)行這個(gè)方法,對(duì)本地通知而言,特別之處是在參數(shù) launchOptions中,UIApplicationLaunchOptionsLocalNotificationKey 是有值的. 用法
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
遠(yuǎn)程通知 - 推送
在 AppDelegate中
A. 如果程序尚未退出 (在后臺(tái))則調(diào)用
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
B. 如果程序已經(jīng)退出,則是調(diào)用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
其實(shí)所有程序剛打開,均會(huì)執(zhí)行這個(gè)方法,對(duì)本地通知而言,特別之處是在參數(shù) launchOptions中,UIApplicationLaunchOptionsRemoteNotificationKey 是有值的. 用法[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];