免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的区别
互联网的发展日新月异,从最初的网站到现在的移动应用,越来越多的企业和开发者开始加入到互联网行业中。虽然网站和移动应用都是互联网的载体,但是它们的原理和开发方式有很大的区别。一、原理区别网站是建立在互联网上的一种信息服务系统,不需要安装,只要输入网址或使用搜
2023-05-18
专门做h5的app
H5是指在Web前端开发中开发出的一种基于HTML5、CSS3和JavaScript的移动端网页技术。 H5 app则是基于H5技术开发出的一种在手机上运行的应用程序。基本介绍H5 app 的优势在于开发成本低、跨平台,可以运行于多个移动操作系统中,如iO
2023-05-18
用h5做安卓app
在移动端开发中,安卓开发一直是主流,而html5作为一种可以跨平台的技术,越来越受到开发者青睐。虽然使用h5做安卓app仍然不是一种常见的方式,但通过一些工具和技术,我们可以实现用h5做安卓app的目标。首先,我们需要明白,安卓app是运行在安卓系统上的软
2023-05-18
网站直接做成app
将网站直接做成App是时下越来越普遍的需求。这是因为,智能手机以其随时随地都可以访问网络等特点,使得人们的生活越来越离不开智能手机应用。而且,App可以直接被下载,轻松地在智能手机上使用,非常方便。这里本篇文章将简要介绍如何将网站直接做成App。1.使用第
2023-05-18
那个app可以做h5
H5是HTML5的简称,是HTML5技术的一种应用形式,是一种在移动设备上快速开发Web页面的技术。现在有很多的app可以做H5,下面我们就来详细介绍一下。AppCanAppCan是一款以HTML5技术为基础的移动应用开发平台,开发者可以使用HTML5代码
2023-05-18
电脑网站怎么做成app
将网站做成应用程序,可以使得用户更加方便地使用网站,而且可以提高用户粘度。现在很多网站都已经推出了自己的应用程序,下面就为大家介绍一下电脑网站如何做成APP。一、概述将网站做成APP的主要方式有两种:一种是使用Webview制作、另一种是使用Native开
2023-05-18
佛山做app网站公司
佛山是广东省的一个发达城市,在这个城市中有很多制作APP和网站的公司。无论是制作手机APP还是网站,都需要使用专业的技术和设计来完成,而佛山的许多技术公司都提供了这样的服务。下面,我们将了解佛山做APP和网站的公司的原理和详细介绍。佛山做APP网站的公司介
2023-05-18
比如做个app建个网站等等
今天,我想向大家介绍在互联网领域里做一款应用程序或建立一个网站的基本流程。这些步骤涉及到很多工具和编程语言,但这不意味着你必须掌握所有技能。在这篇文章中,我会为你指明一些方向并给出基础知识,用以帮助你更好地了解做一个app或建立一个网站的方法。1. 做Ap
2023-05-18
vue做的项目属于什么app
Vue是一款用于构建用户界面的渐进式框架,它可以帮助我们更高效地开发前端应用程序,包括Web端和移动端。Vue.js前端应用程序可以通过业内标准的API与各种后端集成。Vue.js的核心库只关注视图层,非常易于插入到现有项目中,或者通过构建工具进行完整构建
2023-05-18
vue可以做app吗
Vue是一种流行的JavaScript框架,用于开发Web应用程序。Vue框架非常适合用于创建单页应用程序(SPA),因为它使处理视图和数据变得轻松简单。虽然Vue用于开发Web应用程序比较常见,但是Vue也可以用于构建移动应用程序。本篇文章将介绍Vue如
2023-05-18
vue做app扫码
Vue是一款前端框架,可以用来构建Web应用程序,并且也可以用来构建原生应用程序。在构建原生应用程序时,Vue Native是Vue.js生态圈中的一个非常不错的选择。Vue Native提供了一种基于Vue.js的方式来构建原生应用程序的解决方案。扫码功
2023-05-18
php做音乐播放器app
PHP 是一种广泛应用于 Web 开发的服务器端脚本语言,它主要用于动态网站和 Web 应用的开发。PHP 能够处理用户在 Web 上的请求并生成动态的 Web 页面。本文将介绍如何使用 PHP 开发音乐播放器应用。一、音乐播放器的基本原理音乐播放器的基本
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号-1