通过浏览器调用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

时间: 2024-10-23 08:23:25

通过浏览器调用Android或iOS应用的相关文章

JS调用Android、Ios原生控件

在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时,提高代码质量,实现两者在网页端代码的统一. 首先我们先看一下Ios调用JS的方法实现: //无参调用 function SwiftCallJs1(){} //有参调用 function SwiftCallJs2(name, message){} 紧接着我们看一下Android调用JS的方法实现: /

Android、IOS浏览器的适配问题整理

相关知识点: 移动端. 兼容/适配 . IOS点击事件300ms延迟 .点击穿透 . 定位失败 ... 手机浏览器特有的事件: onTouchmove . ontouched . ontouchstart . ontouchcancel. 使用Zepto的原因: jQuery适用于PC端桌面环境,桌面环境更加复杂,jQuery需要考虑的因素非常多,尤其表现在兼容性上面. 与PC端相比,移动端的发展远不及PC端,手机上的带宽永远比不上pc端. pc端下载jQuery到本地只需要1~3秒(90+K)

Unity在Android和iOS中如何调用Native API

本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用.利用这一特性,可以扩展unity的功能.例如集成和调用第三方库.同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用. 这里列举以下两个例子. 1. 1. 以弹出一个覆盖部分屏幕的webview为例来说明如何从C#调用Native接口. 2. 2. 简

支持APP手机应用(android和ios)接口调用 ,传输验证可用 shiro 的 MD5、SHA 等加密

请认准本正版代码,售后技术有保障,代码有持续更新.(盗版可耻,违者必究)         此为本公司团队开发 ------------------------------------------------------------------------------------------------------------------------- 1. 有 oracle .msyql.spring3.0.spring4.0  一共 4 套版本全部提供没有打jar没有加密的源代码(最下面截图2

cocos2d-x调用android内嵌浏览器打开网页

cocos2d-x调用android内嵌浏览器打开网页,可以从入口传入网址,C++调用android 的api即可实现.方法也很简单 1. 修改"cocos2dx\platform\win32"下的CCApplication.h和CCApplication.cpp,添加函数 头文件声明 void openURL(const char* pszUrl); cpp文件实现: void CCApplication::openURL(const char* pszUrl) { ShellExe

在webView 中使用JS 调用 Android / IOS的函数 Function

最近做一个项目,混合了NativeCode 和 HTML,为了便于JS 调用App的一些方法,统一封装一个Js方法,记录如下 Android 端首先要再WebView中允许JS的调用 WebView myWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView

在Android和iOS设备上调用C++代码

不少Android和iOS项目中,因为种种原因不得不调用C/C++代码.这篇文章主要讲述如何通过Objective-C++.NDK技术在iOS及Android设备上调用C/C++代码. 主要工作原理 主要工作原理,如上图所示.Google Android提供NDK以便支持C/C++代码,而iOS可以通过Objective-C++(*.mm)来支持C/C++代码的编译运行.如果有朋友钻研过Cocos2d-x的话,应该对上述这些内容非常熟悉.好了,废话不多说,开始提供干货. 需要调用的C++代码 我

Selenium Python浏览器调用:伪浏览器

WebDriver驱动介绍 因为移动端的driver目前没有接触,所以主要介绍PC端driver,PC端的driver都是基于浏览器的,主要分为2种类型: 一种是真实的浏览器driver:safari.firefox.ie.chrome等 比如:safari.firefox.ie.chrome都是通过浏览器原生组件来调用浏览器的原生API,这些driver都是直接启动并通过调用浏览器的底层接口来驱动浏览器的,因此具有最真实的用户场景模拟,主要用于进行web的兼容性测试使用. 一种是伪浏览器dri

Android &amp;Swift iOS开发:语言与框架对比

转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 从Android到Swift iOS开发:语言与框架对比 我从2009年开始做Android开发,开始接触Swift是在2014年底,当时组里曾经做过一个Demo App,感觉技术还