iOS开发 - 应用内打开第三方应用并传值
来源:互联网 发布:医药冷链物流数据 编辑:程序博客网 时间:2024/06/06 01:38
原文地址:http://blog.csdn.net/hitwhylz/article/details/40537031
首先说下这个功能, 应该都有接触过。
比如,你下载了一个电子书,然后选择打开方式的时候,可能会看到你手机中已经安装的阅读类App。
或者,你的QQ收到了某个文件,你也可以选择本地的应用来打开。
那这样的功能,是怎么实现的呢?
简单来说。就是调用URL来实现第三方应用的开启。
首先,被打开的应用需要提供这个功能, 也就是,它需要注册一个 URL Schemes,供第三方使用。
如果你想你的应用被调用, 你可以这样设置。
在 xxxx info.plist 文件中, 添加如下属性
类似这样:
注意, 这里的URL Schemes必填, URL identifier选填。
另外,URL Schemes建议都小写,因为之后接收到数据的时候,不区分大小写, 都是转为小写。
规定的格式是 URL Schemes://URL identifier
之后, 你需要在 Appdelegate.m中添加如下代码, 来处理接受到请求后做出的处理
- //处理URL请求
- - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- {
- NSLog(@"%@", url);
- if ([[url scheme] isEqualToString:@"myurltest"])
- {
- //处理链接
- NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
- UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"新消息" message:text delegate:self cancelButtonTitle:@"知道了" otherButtonTitles: nil nil];
- [myAlert show];
- return YES;
- }
- return NO;
- }
这里我写了个示范, 判断是否是打开本应用的URL, 如果是, 就弹出一个警告框,显示传来的数据。
当然,传来的数据要怎么处理, 那看你自己了。
之后, 第三方应用就可以直接调用打开它了。
我们做个简单示范, 用Safari来直接打开。
这里输入myurltest://hello 表示打开的应用的URL Schemes是 myurltest, 传入的数据是hello
当然, 在应用中打开,我们可以使用如下方法:
- NSURL *url = [NSURL URLWithString:@"myurltest:"];
- [[UIApplication sharedApplication] openURL:url];
0 0
- iOS开发 - 应用内打开第三方应用并传值
- iOS开发 - 应用内打开第三方应用并传值
- iOS开发 - 应用内打开第三方应用并传值
- ios开发 第三方应用打开模式
- iOS 打开第三方应用
- iOS打开第三方应用
- iOS--打开第三方应用
- iOS用第三方应用打开文件
- 打开第三方应用
- 打开第三方应用
- 打开第三方应用
- IOS实现应用内打开第三方地图app进行导航
- IOS实现应用内打开第三方地图app进行导航
- IOS开发-在应用内打开AppStore
- IOS开发-在应用内打开AppStore
- ios打开第三方应用的用法及一些URL
- Android应用内调用第三方应用
- Android应用内启动第三方应用
- android ViewPager+Fragment封装无限循环ViewPager
- Android客户端判断服务器是否开启 HttpHostException解决方案
- ImageView图片宽度为控件宽度,高度按比例缩放
- word-break: keep-all;
- vim编辑器的基本使用
- iOS开发 - 应用内打开第三方应用并传值
- 仅允许运行使用网络级别身份验证的远程桌面计算机连接失败处理方法(远程桌面连接)
- Android开源--MenuDrawer
- USB主机方式在嵌入式系统的应用
- Linux 屏幕输出命令(echo,printf,yes,seq,clear)
- Android String处理(SpannableString,HTML)
- Effective Java (7) - 避免使用终结方法
- vijos P1360 八数码问题
- Arcgis for Js之GeometryService实现测量距离和面积