0

当应用程序不在前台或后台运行时,我们可以接收远程推送通知吗?基本上应用程序被杀死了?

4

3 回答 3

0

如果在应用程序未运行时收到应用程序的通知,则设备会提醒用户该应用程序有数据等待它。

于 2012-04-24T13:00:52.690 回答
0

是的,即使应用程序未运行,您仍会收到推送通知。

于 2012-04-24T12:59:02.830 回答
0

否,如果收到消息,它将不会启动您的应用程序,它由 iOS 处理。

如果用户选择查看通知,您的应用程序将启动。因此,如果用户没有对通知做出反应,您的应用程序将不会启动。如果 iOS 在用户为您的应用选择推送通知时启动您的应用,您将必须检查 lauchOptions 字典以查看是否有任何推送通知:

- (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在您的应用程序委托上调用该方法。

于 2012-04-24T14:08:49.420 回答