码迷,mamicode.com
首页 > 移动开发 > 详细

通过浏览器调用Android或iOS应用

时间:2014-06-17 16:39:54      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:android   ios   浏览器调用应用   

        在做移动应用单点登录的时候,需要在浏览器里点击链接启动APP并将参数传到APP里的相应接口进行处理,现将通过浏览器调用Android和iOS应用的实现过程整理出来固化到博客,以便查询。

一:通过浏览器调用Android应用

1)修改配置文件AndroidManifest.xml,在需要打开的activity下添加如下配置:

 <intent-filter> 

        <data android:scheme="ssotest" /><!-- 通过这个ssotest打开应用程序,可自行定义。 -->
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.DEFAULT" />  
         <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

2)在HTML中,添加<a href=‘ssotest://‘>ssotest</a>,即可点击此链接打开APP。

3)其他的APP也可以通过如下方式打开该应用:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("ssotest://")));  

4)如果想传递参数,可以在url追加即可,比如:

<a href=‘ssotest://id=123456‘>ssotest</a>

5)接受并解析参数,在接收的Activity中使用如下代码获得参数:

this.getIntent().getScheme();//获得Scheme名称  

this.getIntent().getDataString();//获得Uri全部路径,根据格式自己解析字符串即可。

二:通过浏览器调用iOS应用

1)修改plist文件,注册对外的URL

 A:找到工程的<app>info.plist

 B: 点击 information property list后面的加号,从列表中选择URL types 

 C: 展开URL types,再展开Item0,将Item0下的URL identifier修改为URL Scheme

 D: 展开URL Scheme,将Item0的内容修改为ssotest(可自行定义)

2)在HTML中,添加<a href=‘ssotest://‘>ssotest</a>,即可点击此链接打开APP。

3)如果想在启动的APP中接受此URL并进行特殊的处理,可以修改工程的AppDelegate.m,重写openURL方法,如下:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

   // 可通过[url scheme]获得定义的Scheme名称

   // 可通过[url absoluteString] 获得整个的URL路径,可解析传递过来的数据

}

通过浏览器调用Android或iOS应用,布布扣,bubuko.com

通过浏览器调用Android或iOS应用

标签:android   ios   浏览器调用应用   

原文地址:http://blog.csdn.net/cwb1128/article/details/31579021

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!