2012-07-10 57 views
2

发送推送通知后,我希望应用在我的收件箱页面上打开,以便用户可以在收件箱中看到新消息。我有下面的代码在我的AppDelegate如果应用在推送通知中处于活动状态

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ 

    [self.tabController setSelectedIndex:2]; 
} 

当我发送推送消息和手机被激活,它直接有没有警告。我知道那什么是应该与我的代码,这样做,但有没有办法改变它像这样

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ 

    if(app.isActive == FALSE) 
      [self.tabController setSelectedIndex:2]; 
} 

对此有何见解将大大有助于。谢谢!

+0

我怀疑的代码将运行,而应用程序将不起作用。所以你的If总是会返回NO。 – 2012-07-10 14:00:42

回答

1

你可以,一旦你进入应用一个布尔值设置为YES,只需设置在布尔:

- (void)applicationWillEnterForeground:(UIApplication *)application 

,并设置BOOL到NO

- (void)applicationDidEnterBackground:(UIApplication *)application 
+0

为什么? UI应用程序已经有状态变量 – 2015-01-20 15:06:15

1

你可以告诉如果应用程序是在前台通过检查applicationState像这样:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateActive) 
     // app is in the foreground 
    else 
     // app was just brought from background to foreground 
    ... 
} 
相关问题