ios应用程序直接从后台点击后应该直接执行

时间:2013-01-23 23:53:31

标签: ios ios5.1 uiapplication openurl

我在mainviewcontroller中有一个webview,我在viewdidload方法中填充了一个网页,如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];


    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    [_loginWebView loadRequest:requestObj];


}

在shouldstartloadwithrequest方法中,我检查网址是否包含“itunes”,并且我有以下代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{


NSRange textRange4;
            textRange4 =[[[request URL] absoluteString] rangeOfString:@"itunes.apple.com"];
            if(textRange4.location != NSNotFound)
            {

               UIApplication *app = [UIApplication sharedApplication];
                NSString *newPath = [[request URL] absoluteString] ;

                if ([newPath rangeOfString:@"insider"].location != NSNotFound) {
                    NSURL *myURL = [NSURL URLWithString:@"insider://"];
                    if ([app canOpenURL:myURL]) {
                        [app openURL:myURL];
                        NSLog(@"insider");

                    }
                    else 
                    {
                        [app openURL:[NSURL URLWithString:newPath]];
                    }


                }
                else if ([newPath rangeOfString:@"reuters-news-pro-for-ipad"].location != NSNotFound) {

                      [app openURL:[NSURL URLWithString:newPath]];

                }
                else if ([newPath rangeOfString:@"thomson-reuters-marketboard"].location != NSNotFound) {
                    NSURL *myURL = [NSURL URLWithString:@"marketboard://"];
                    if ([app canOpenURL:myURL]) {
                        [app openURL:myURL];
                        NSLog(@"marketboard");
                    }
                    else
                    {
                       [app openURL:[NSURL URLWithString:newPath]];
                    }


                }
                else
                {
                    [app openURL:[NSURL URLWithString:newPath]];

                }

                return NO;

            }
return YES;
}

上面的代码可以打开我想要的应用程序,但是当我从ipad回到我的应用程序时,它不会转到主视图控制器,而是重新打开之前打开的应用程序。 例如,如果我打开marketboard应用程序,当我从ipad home点击应用程序图标时它会重新打开它。 但上面只发生在ios5.0中,它不会发生在6.0中,这真的很奇怪

1 个答案:

答案 0 :(得分:0)

在ios5.0中的viewdidload方法中进行webview loadrequest时,这是默认行为 他们已经在ios6.0中修复了它