標籤:style blog color os io strong for ar
App沒有啟動的時候,接受到了訊息通知.這個時候作業系統會按預設來展示一個alert,在App Icon上標記一個數字
1.當程式處於關閉狀態收到推送訊息時,點擊表徵圖或訊息列會調用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions2.當程式處於前台工作時,這時候若收到訊息推送會調用- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo3.當程式處於後台運行時,這時候若收到訊息推送,點擊表徵圖或訊息列會調用- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo針對1種情況代碼if (launchOptions) { NSDictionary* pushInfo = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]; //此處必須用stringWithFormat轉換下 if (pushInfo != nil) { UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"App關閉" message:[NSString stringWithFormat:@"%@",pushInfo] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; } }針對2,3種情況代碼if ([[userInfo objectForKey:@"aps"] objectForKey:@"alert"]!=NULL) { // 當程式處於前台工作時,這時候若收到訊息推送處理 if(application.applicationState == UIApplicationStateActive){ UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"App前台運行" message:[[userInfo objectForKey:@"aps"] objectForKey:@"alert"] delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil]; [alert show]; } else //當程式處於後台運行時,這時候若收到訊息推送處理 { UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"App後台運行" message:[NSString stringWithFormat:@"%@",userInfo] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; } }