2014-07-18 58 views
1

我實際上正在處理需要處理通知的iOS應用程序。 我目前使用本地通知,並且當我點擊通知時需要重定向到不同的viewControllers。
我的問題是,現在每次收到通知時都會進行重定向,並且應用程序不會等待我單擊它。 我嘗試了很多解決方案,而且我總是遇到同樣的問題。僅當用戶點擊它時才處理本地通知

所以我想知道:是否有可能重定向到特定的意見只有當用戶點擊通知,而不是當它出現時?

非常感謝您的幫助。

回答

1

您可以嘗試如下。我也編寫了代碼,這可能會對你有所幫助。

  • 當應用程序在活動狀態:你可能會顯示警告,並詢問用戶重定向到不同的屏幕與否。
  • 當應用程序處於非活動狀態:您可以直接,因爲他們在應用程序通過自來水即將來臨 通知用戶重定向到 所需屏幕。

    -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
    { 
        UIApplicationState state = [application applicationState]; 
        if (state == UIApplicationStateActive) 
         { 
         UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert" message:@"Your Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"View", nil]; 
         [alert show]; 
         } 
        if (state == UIApplicationStateInactive) 
         { 
          // Redirect User to your required screen. 
         } 
    } 
    -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
    { 
         if (buttonIndex == 1) 
         { 
          // Redirect User to your required screen. 
         } 
    } 
    
+0

我曾嘗試類似的東西,但它不起作用。我認爲我的問題是其他地方,我沒有找到在哪裏,所以我重新啓動一個新項目。我用你的代碼,它工作得很好!非常感謝您花時間幫助我! – Bibi

0

當您收到使用[[UIApplication sharedApplication] applicationState]

如果應用程序處於活動狀態的本地通知可以判斷應用程序的狀態,你可以只顯示一個UIAlertView中表示用戶接收本地notification.So用戶點擊alertView,你可以重定向viewController。

我希望我的回答可以幫助你。

+0

感謝您的幫助! – Bibi