0

當應用程序未在前臺或後臺運行時,我們是否可以接收遠程推送通知?基本上應用程序被殺害?遠程推送通知

+0

可能的重複[我應該如何處理推送通知,當我的應用程序不運行](http://stackoverflow.com/questions/4782352/how-can-i-handle-push-notification-when-my-app - 未運行) – bernie 2012-04-24 16:51:01

回答

0

是的,即使應用程序未運行,您仍然會收到推送通知。

+0

如果您的應用在任何其他情況下在前臺運行,則只會直接收到通知。iOS會向用戶顯示收到通知的消息。只有在用戶選擇通知後,您的應用纔會啓動。 – rckoenes 2012-04-24 14:34:05

+0

@rckoenes你是對的。但我的也是對的。當您的應用沒有運行時,如果您的應用有一個應用,則手機仍會收到推送通知。 – Jason 2012-04-24 16:22:56

0

如果在應用程序未運行時應用程序的通知到達,則設備會通知用戶應用程序有數據正在等待它。

0

如果收到消息,它將不會啓動您的應用程序,它由iOS處理。

如果用戶選擇查看通知,那麼您的應用將會啓動。因此,如果用戶沒有對通知做出反應,您的應用將不會啓動。 如果當用戶選擇爲您的應用推送通知的iOS啓動您的應用程序,你將不得不檢查lauchOptions dictonary,看看是否有任何推送通知:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    _rootViewController = [[RootViewController alloc] init]; 

    self.window.rootViewController = self.rootViewController; 

     NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 

    if (remoteNotif) { 
     //Handle notification 
    } 
} 

如果您的應用程序已經在運行,並在前臺比應用程序代表將直接收到通知。在您的應用程序委託上調用方法- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo