收到推送通知时,如何打开另一个屏幕而不是主屏幕

时间:2013-08-05 10:59:46

标签: iphone objective-c push-notification xcode4.5 apple-push-notifications

我需要知道如何在收到推送通知时打开另一个viewcontroller而不是主视图控制器请帮助我提前感谢这里是我的代码“

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    sleep(2);
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
 (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    NSUserDefaults* ud = [NSUserDefaults standardUserDefaults];
    consumerId = [[ud objectForKey:@"consumerId"] intValue];

    couponSql = [[CouponsSqlClass alloc] init];

   if (consumerId == 0) {
        self.viewController = [[LandingPageViewController alloc] initWithNibName:@"LandingPageViewController" bundle:nil];
        self.window.rootViewController = self.viewController;
   }
   else {
        application.applicationIconBadgeNumber = 0;

        EditProfileViewController* mainViewController = [[EditProfileViewController alloc] initWithNibName:@"EditProfileViewController" bundle:nil];
        _mainViewNavController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
        KluebookMenuViewController* leftSideMenuViewController = [[KluebookMenuViewController alloc] initWithNibName:@"KluebookMenuViewController" bundle:nil];
        self.deskController = [[IIViewDeckController alloc] initWithCenterViewController:self.mainViewNavController leftViewController:leftSideMenuViewController];
        self.deskController.leftLedge = 60;
        self.window.rootViewController = self.deskController;
    }
    [self.window makeKeyAndVisible];

    return YES;
}

1 个答案:

答案 0 :(得分:3)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if (launchOptions != nil) {
         // Launched from push notification
         NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
         //Redirect it to your page here
    }
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    if ( application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground  )
    {
         //opened from a push notification when the app was on background
         //Redirect it to your page here
    }
}