仅在用户单击时处理本地通知

时间:2014-07-18 08:50:26

标签: ios objective-c uilocalnotification

我实际上正在开发一个需要处理通知的iOS应用程序。 我目前正在使用本地通知,当我点击通知时,我需要重定向到不同的viewControllers。
我的问题是,现在每次收到通知时都会进行重定向,应用程序不会等待我点击它。 我尝试了很多解决方案,但我总是遇到同样的问题。

所以我想知道:是否可以仅在用户点击通知时重定向到特定视图,而不是在它出现时?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分: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.
            }
    }
    

答案 1 :(得分:0)

您可以在使用[[UIApplication sharedApplication] applicationState]

收到本地通知时判断应用状态

如果应用程序处于活动状态,您只需显示UIAlertView,指示用户接收本地通知。因此,用户单击alertView,您可以重定向viewController。

我希望我的回答可以帮到你。