通过浏览器调用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:找到project的<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并进行特殊的处理。能够改动project的AppDelegate.m,重写openURL方法,例如以下:

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

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

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

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/gcczhongduan/p/4685037.html