最近一直在搞推送消息跳转指定页面, 点击通知栏, 执行以下方法
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
[JPUSHService handleRemoteNotification:userInfo];
BaseTabBarController *baseTabBar = (BaseTabBarController *)self.window.rootViewController;
//进入医生界面
ExpertInfoViewController *expertVC = [[ExpertInfoViewController alloc] init];
expertVC.expertId = [userInfo objectForKey:@"message_id"];
expertVC.hidesBottomBarWhenPushed = YES;
[baseTabBar.viewControllers[baseTabBar.selectedIndex] pushViewController:expertVC animated:NO];
}
如果出现重复页面的问题, 咱就来个强制的, 重新创建window, 基于首页push
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
[JPUSHService handleRemoteNotification:userInfo];
BaseTabBarController *baseTabBar = (BaseTabBarController *)self.window.rootViewController;
//进入医生界面
ExpertInfoViewController *expertVC = [[ExpertInfoViewController alloc] init];
expertVC.expertId = [userInfo objectForKey:@"message_id"];
expertVC.hidesBottomBarWhenPushed = YES;
//
BaseTabBarController *rootVC = [[BaseTabBarController alloc] init];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.window setRootViewController:rootVC];
[self.window addSubview:rootVC.view];
[self.window makeKeyAndVisible];
BaseTabBarController *baseTabBar = (BaseTabBarController *)self.window.rootViewController;
[baseTabBar.viewControllers[baseTabBar.selectedIndex] pushViewController:expertVC animated:NO];
}