iOS---从浏览器启动应用程序
源代码下载:http://download.csdn.net/detail/haogaoming123/8626957
通过URL协议实现从Safari等浏览器中跳转打开你的app,实现这样的功能并不麻烦,通过将网上一些相关教程汇总以后就写了下面的教程分享。
实现效果如下,在浏览器中输入“appABC://”之后就会打开这个程序,打开后程序中会显示跳转过来的链接地址。
第一步:在info.plist中加入这些内容
其中URL identifier 可以随便取,URL Schemes 就是实现跳转URL协议的名称(可以多个)
然后,在视图控制器中加入这样的代码用于显示跳转过来的地址:
+(void)alert:(NSString*)information{ UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:[NSString stringWithFormat:@"程序通过URL协议打开,该URL为:“%@”",information] delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alert show]; [alert release]; }
再在AppDelegate.m中加入这些代码
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ if(!url){ return NO; } NSString *urlString=[url absoluteString]; [ViewController alert:urlString]; return YES; }
就完成了这个看似很酷的功能,至于参数传递的问题差不多,取出值然后判断就行了:
NSArray *pathComponents = [url pathComponents]; if(pathComponents.count != 3 ){ return NO; } NSString *dataType = [NSString stringWithFormat:@"%@",[pathComponents objectAtIndex:1]];//取出来的值 NSString *dataId = [NSString stringWithFormat:@"%@",[pathComponents objectAtIndex:2]];//取出来的值
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。