iOS 點擊通知欄訊息跳轉到指定的頁面

來源:互聯網
上載者:User


這個分為3種情況

1. 當APP為關閉狀態時,點擊通知欄訊息跳轉到指定的頁面

2. 當APP在後台運行時,點擊通知欄訊息跳轉到指定的頁面

3. 當APP在後台運行時,不會有通知欄提醒,也就不會跳轉到指定介面


針對1.的處理

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{     [self jumpToViewController:launchOptions];    return YES;}#pragma mark —頁面跳轉- (void)jumpViewController:(NSDictionary*)tfdic{     NSDictionary *remoteNotification = [tfdic objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];        if ([CHPaInterface isUserLogin])    {      for (NSString *tfStr in remoteNotification)      {        if ([tfStr isEqualToString:@"careline"])        {            ViewController *_viewController =  [[ViewController alloc]init];            [_viewController loadAPNSInfoDic:remoteNotification];            UINavigationController *nav= (UINavigationController *)self.window.rootViewController;            [nav pushViewController:_viewController animated:YES];        }      }    }}

針對2.的處理

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{    //當APP在前台運行時,不做處理    if( [UIApplication sharedApplication].applicationState == UIApplicationStateActive)    {    }          //當APP在後台運行時,當有通知欄訊息時,點擊它,就會執行下面的方法跳轉到相應的頁面    else if ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive)    {        if ([CHPatyInterface isUserLogin])        {            NSLog(@"收到推送:%@",userInfo);            for (NSString *tfStr in userInfo)            {                if ([tfStr isEqualToString:@"careline"])                {                    ViewController *_viewController =  [[ViewController alloc]init];                    [_viewController loadAPNSInfoDic:userInfo];                    UINavigationController *nav= (UINavigationController *)self.window.rootViewController;                    [nav pushViewController:_viewController animated:YES];                }            }        }    }}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.