应用之间跳转
2014-12-22 15:47
260 查看
1.情景描述:实现带扫描二维码的第三方应用,扫面二维码后打开自己开发的APP。
2.原理:首先Schemes是在你的应用程序的info.plist里面定义的,在安装应用程序后.应用程序可以解析你的info.plist,如果检测到CFBundleURLTypes,会将相应Scheme注册到系统里面。如果有应用程序通过[[UIApplication sharedApplication]
openURL:url]打开了safari或者直接在safari里面输入URL.系统会检测URL,然后对照已经注册的scheme来启动相应的应用程序.比较常见的scheme有http,mailto,tel,sms. 当然你可以自己定义一个.
被启动的应用程序会调用
-(BOOL)application:(UIApplication*)
application handleOpenURL:(NSURL *)URL (4.2以前的iOS)
或者
- (BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation (4.2以后的iOS)
3.实现
3.1 APP配置
(1)在info.plist里面,添加 URLTypes,然后在生成的URL Scheme输入你自己的定义的Scheme
(2)在info.plist
里面添加URLSchemes,这个是对内的,相当于一个协议头,类似http,ftp,用来打开APP的url必须以这个开头
(3)URL identifier这个是对外的,如果在你的app中打开了另外的app这个值就会作为参数传过去。
3.2代码部分的实现
- (BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
//sourceApplication
打开本app的应用的URL Scheme的值
//url
包含URLSchemes值的url
//在这里进行一些判断,比如url为MosApp://m.text.cn/?id=123456
if ([[url
host]isEqualToString:@"m.text.cn"])
{
//something
return
YES;
}
else
return
NO;
}
3.3 测试
在浏览器中输入MosApp://m.text.cn/?id=123456试试吧,能打开就成功了。
本篇主要讲述怎通过URLSchemes打开指定APP的,二维码使用将在后边讲述。
2.原理:首先Schemes是在你的应用程序的info.plist里面定义的,在安装应用程序后.应用程序可以解析你的info.plist,如果检测到CFBundleURLTypes,会将相应Scheme注册到系统里面。如果有应用程序通过[[UIApplication sharedApplication]
openURL:url]打开了safari或者直接在safari里面输入URL.系统会检测URL,然后对照已经注册的scheme来启动相应的应用程序.比较常见的scheme有http,mailto,tel,sms. 当然你可以自己定义一个.
被启动的应用程序会调用
-(BOOL)application:(UIApplication*)
application handleOpenURL:(NSURL *)URL (4.2以前的iOS)
或者
- (BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation (4.2以后的iOS)
3.实现
3.1 APP配置
(1)在info.plist里面,添加 URLTypes,然后在生成的URL Scheme输入你自己的定义的Scheme
(2)在info.plist
里面添加URLSchemes,这个是对内的,相当于一个协议头,类似http,ftp,用来打开APP的url必须以这个开头
(3)URL identifier这个是对外的,如果在你的app中打开了另外的app这个值就会作为参数传过去。
3.2代码部分的实现
- (BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
//sourceApplication
打开本app的应用的URL Scheme的值
//url
包含URLSchemes值的url
//在这里进行一些判断,比如url为MosApp://m.text.cn/?id=123456
if ([[url
host]isEqualToString:@"m.text.cn"])
{
//something
return
YES;
}
else
return
NO;
}
3.3 测试
在浏览器中输入MosApp://m.text.cn/?id=123456试试吧,能打开就成功了。
本篇主要讲述怎通过URLSchemes打开指定APP的,二维码使用将在后边讲述。
相关文章推荐
- 不同应用之间的activity跳转产生的闪烁,解决方法
- 应用之间跳转的问题
- IOS两个App应用之间的跳转
- iOS应用之间跳转
- iOS开发拓展篇—应用之间的跳转和数据传递
- Android深入浅出系列之实例应用—手机页面之间的跳转
- 网页与原生应用之间互相跳转
- OS开发拓展篇—应用之间的跳转和数据传
- app应用之间的跳转代码
- IOS-应用之间的跳转和打开别人的应用程序探讨
- 应用之间相互调用,应用相互跳转,应用间传递参数
- Android深入浅出系列之实例应用—手机页面之间的跳转
- IOS应用之间跳转
- iOS_App应用之间跳转
- iOS两个App应用之间的跳转
- 一、东软实践项目2-基于android平台的应用开发:实现页面之间的跳转
- iOS开发拓展篇—应用之间的跳转和数据传递
- IOS应用之间调用跳转
- iOS开发拓展篇—应用之间的跳转和数据传
- IOS两个App应用之间的跳转