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