2012-07-10 104 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 
    ... 
} 
相關問題