zoukankan      html  css  js  c++  java
  • 通过 URL 协议实现从 Safari 等浏览器中跳转打开你的 app

    转载自:http://www.cocoachina.com/bbs/read.php?tid=109315

    看到Amazing Alex中有个关卡下载的功能,在浏览器中选择要下载的关卡(如下图)以后会自动跳转回这个游戏。

     
    实现这样的功能并不麻烦,通过将网上一些相关教程汇总以后就写了下面的教程分享。
    实现效果如下,在浏览器中输入“appABC://”之后就会打开这个程序,打开后程序中会显示跳转过来的链接地址。

    第一步:在info.plist中加入这些内容

    其中URL identifier 可以随便取,URL Schemes 就是实现跳转 URL 协议的名称(可以多个)
    然后,在视图控制器中加入这样的代码用于显示跳转过来的地址:

    +(void) alert:(NSString*)url {
        UIAlertView* av = [[UIAlertView alloc] 
                           initWithTitle:@"提示" 
                           message:[NSString stringWithFormat:@"程序通过URL协议打开,该URL为:“%@”", url] 
                           delegate:self 
                           cancelButtonTitle:@"确定" 
                           otherButtonTitles:nil];
        [av show];
        [av release];
    }
    再在AppDelegate.m中加入这些代码
    -(BOOL) application:(UIApplication*)application handleOpenURL:(NSURL*)url {
        if(!url) {
            return NO;
        }
        
        NSString* urlString = [url absoluteString];
        [ViewController alert:urlString];
        return YES;
    }
    就完成了这个看似很酷的功能,至于参数传递的问题大家可以自己研究一下,不难的,这里没有做进去
    附上Demo:  URLProtocol.zip (51 K) 下载次数:12 

  • 相关阅读:
    【BZOJ2287】消失之物
    【NOI2001】炮兵阵地
    【SCOI2005】互不侵犯
    【USACO2007 nov glod】玉米田
    【NOIP模拟】航班
    【NOIP模拟】闲荡
    【NOIP模拟】军队调遣
    树形地铁系统
    矩阵
    完美的集合(题解)
  • 原文地址:https://www.cnblogs.com/java20130723/p/3212107.html
Copyright © 2011-2022 走看看