免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

webview做跳转app的逻辑

Webview是Android系统中用于将网页嵌入到应用程序中的控件。在移动应用中,有时需要跳转到应用的某个页面或执行某个操作,这时就可以使用Webview的跳转功能。

Webview跳转app的原理如下:

1. 通过JS交互通信

Webview可以通过JavaScript桥接(WebView.addJavascriptInterface(Object object, String name)方法)与页面中的JavaScript进行通信,这样就可以将被跳转的APP的信息通过JavaScript在Webview中传递。同时需要在Webview中重写shouldOverrideUrlLoading方法,可以在这个方法中实现跳转逻辑,对检测到的原生协议做处理,如tel、mailto等,避免页面被跳转到其他应用或浏览器。代码示例如下:

```

WebView webView = findViewById(R.id.webView);

webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(new JSInterface(), “Android”);

webView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

if (url.startsWith("app://")) {

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

startActivity(intent);

return true;

}

return false;

}

});

class JSInterface{

@JavascriptInterface

public void jumpToNative(String params){

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(params));

startActivity(intent);

}

}

```

2. 通过拦截URL Scheme实现跳转

URL Scheme是iOS和Android平台都支持的APP间相互跳转的协议,可以在应用程序中定义 URL Scheme,在需要调用 APP 的地方通过调用这些定义好的 URL Scheme 来触发 APP 的行为。同样需要在Webview中重写shouldOverrideUrlLoading方法,然后通过Intent启动被跳转APP。代码示例如下:

```

WebView webView = findViewById(R.id.webView);

webView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

if (url.startsWith("app://")) {

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

startActivity(intent);

return true;

}

return false;

}

});

```

以上两种方法都需要在App和H5页面的协作下实现。通过在WebView中嵌入具有相应业务逻辑的HTML5应用,用户可以在原有 WebView 业务的基础上,通过一定的操作使应用跳转到其他原生应用程 序中进行业务处理。


相关知识:
做一个类似淘宝网站加一个app
要做一个类似淘宝的电商网站,首先需要一个全面的电商平台,该平台需要具备以下几个功能:1.商品管理:包括商品分类、商品详情、库存管理等。2.订单管理:用户下单、支付、退款、发货等。3.用户管理:包括用户注册、登录、购物车等。4.物流管理:包括快递查询、订单跟
2023-05-18
做h5比较好的app
随着智能手机的普及,移动应用程序的需求也越来越高。而近年来,HTML5 技术的快速发展和成熟,使得基于 HTML5 的移动应用在开发效率、跨平台支持等方面都具有非常明显的优势。接下来,我将介绍几款比较好的基于 HTML5 技术开发的移动应用。1. 微信无疑
2023-05-18
做app的网站
随着智能手机的普及,手机App也成为了人们生活的重要组成部分,越来越多的企业和个人开始关注如何开发一个成功的App。本文将针对如何做App的初步介绍,让想要进入App开发领域的读者们有一个基本的了解。一、 App的基本概念App是指应用程序(Applica
2023-05-18
怎么样把网站做成app
将网站转换为App的方式有多种。下面我将为您介绍其中最流行的方式:一、基于H5的Web AppWeb App是通过浏览器访问的,它没有安装的过程,与普通网站一样,可以跨平台,实现了基本的功能。而H5技术也提供了越来越多的API和功能,可以满足日益增长的移动
2023-05-18
新手如何自己做网站app
对于一个新手来说,自己做一个网站或者APP可能看上去很困难,但是实际上它并不是无法做到的。我们可以通过一些工具和资源来完成这项任务。对于网站的建立,首先需要一个域名,这个域名就是你的网站名字。在选择域名时要注意一些事情,比如要短小易记,要与网站内容相关,不
2023-05-18
网站做成app的软件
网站是我们在互联网上访问和使用的主要形式之一。然而,随着移动互联网的普及和发展,许多用户更倾向于使用移动应用程序。因此,许多网站已经开始逐渐将自己转化为移动应用程序,以提供更好的用户体验。那么,将网站转化为移动应用程序的原理和详细介绍是什么呢?一般的做法是
2023-05-18
网页app做淘客
淘客是指通过第三方平台或个人渠道推广商品从而获取佣金的行为。而网页App做淘客,本质上是将淘客行为放在了手机端的网页应用中,通过推广商品从中获取佣金。网页App做淘客的原理其实很简单。首先,淘客需要在阿里妈妈或其他淘宝联盟平台注册,获得推广商品的链接。接着
2023-05-18
为什么做网页端不做app端
在互联网时代,移动终端已经成为人们日常生活中不可或缺的一部分。为了配合移动设备的普及以及用户需求,许多企业和个人都开始考虑开发自己的移动应用。但是,在这种情况下,仍有很多人选择开发网页端而不是app端。在这里,我们将详细介绍为什么做网页端比做app端更有优
2023-05-18
手机做网页app
随着互联网的快速发展,越来越多的人都开始使用手机来浏览网页。同时,越来越多的企业也开始将自己的网站进行升级,以适应手机用户。在这种情况下,许多人开始考虑,是否可以将网站直接转换成手机应用程序,这样就可以更方便地使用了。那么,手机做网页app的原理是什么呢?
2023-05-18
vue怎么打包做app吗
Vue.js 是一个轻量级的 JavaScript 框架,可以很好地构建各种 Web 应用程序。但是,许多开发者可能会问:“Vue 如何打包成一个 APP 呢?” 答案是,Vue.js 提供了一种将 Vue.js 单页应用打包成原生 APP 的方案,这个方
2023-05-18
h5界面做成app
将一个H5页面转换为一个App并不是一件难事。这种转换技术已经存在了很多年,因此已经有很多工具和解决方案可以让你很容易地将H5页面转换为App。因为H5页面是基于Web的技术,而App则是基于本地化环境的,因此需要一定的技术处理和桥接,才能让H5页面转化为
2023-05-18
极光平台配置APP的安卓包名
怎么在极光平台配置APP的安卓包名?1.登录极光官网,注册一个账号https://www.jiguang.cn/2.登录极光推送,选择极光开发者服务3.选择你需要配置应用如图,点击【设置】进入对应APP详细配置界面4.在推送设置里面,设置安卓APP的包名信
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号