使用iOS8可操作通知在特定视图控制器上启动应用程序

时间:2014-10-10 08:08:46

标签: ios objective-c ios8

我的应用程序上有一个可操作的通知设置,带有YES按钮。是否可以在触发通知并按“是”按钮时将您带入特定视图控制器上的应用程序,而不是初始视图。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用iOS8的新方法handleActionWithIdentifier来执行此任务。每当您按下操作按钮时,这些代表都会打电话。

  1. 委派localNotification :当用户从本地通知中选择操作激活您的应用时调用。

    - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void(^)())completionHandler
    
  2. remoteNotification的委派:当用户从远程通知中选择操作激活您的应用时调用。

    - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler
    
  3. 注意:您应该在处理完动作后立即调用完成处理程序。

    然后你可以使用它来获取rootViewController,然后重定向到其他ViewController。

    - (UIViewController*)GetTopViewController
    {
        AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
        UIViewController *rootViewController = appDelegate.window.rootViewController;
        if ([rootViewController isKindOfClass:[UINavigationController class]])
        {
            UINavigationController* rvc = (UINavigationController*)rootViewController;
            rootViewController = rvc.visibleViewController;
        }
        return rootViewController;
    }
    

    其他相关Question Link