免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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比较多
在当前互联网发展的时代背景下,做网站和App的开发都有其独特的优势和难点。下面,本文将从不同的角度介绍做网站和App的优劣势,以及二者的不同之处。1. 用户类型对于不同类型的用户群体,他们更喜欢使用不同的平台。针对偏向PC端的用户,网站是满足他们需求的不二
2023-05-18
做app用h5好吗
在开发app的时候,我们可以选择使用原生开发或者h5来实现。h5是一种基于Web技术的手机应用开发方式,在移动应用市场中越来越受欢迎。本文将对h5开发app的优势和不足进行详细介绍。### h5是什么?h5全称是HTML5,是一套新的HTML标准,它引入了
2023-05-18
做app产品测评哪家网站比较好
在当今的移动互联网时代,为了提升用户使用体验,不断完善产品功能,app产品测评已经成为了必不可少的环节。一方面,通过对产品进行全面的测试,可以发现产品存在的问题,提高其稳定性和安全性;另一方面,也可以发掘出产品的潜力,提升其用户黏性和用户满意度。在这样的需
2023-05-18
做app不做网站
开发手机应用程序(App)已经成为了当今互联网领域中最热门的一个领域。这是因为随着智能手机的流行,常用的软件运营系统(如iOS和Android)上使用的应用程序的广泛普及,越来越多的企业和商家正在选择这一领域。因此,在这一网站的文章中,我们将详细介绍开发手
2023-05-18
一个网页做成app
对于许多网站业主来说,将他们的网站转换成移动应用程序是一个有吸引力的选择,因为它可以让你的用户更方便地使用你的网站内容。在本文中,我们将探讨如何将网页转换成app。在转换网页成app之前,必须确定某些因素,例如你的网站使用的技术、目标平台、用户界面设计等。
2023-05-18
什么app可以免费做h5
在如今日益发达的互联网时代,H5成为越来越多人喜爱的制作方式,因为它不需要太高的技术门槛也不用下载安装,而且可以上手快且使用范围广,而制作H5页面的软件也越来越多,今天我们重点介绍几款免费的H5制作工具。1. CanvaCanva是图形设计领域的翘楚,它不
2023-05-18
上海专业html做app文件
HTML 是 HyperText Markup Language 的缩写,是一种用于创建网页的标记语言。HTML 主要由标签、属性和文本等组成,可以用于构建各种页面结构。虽然 HTML 本身不能制作 app 文件,但是可以与其他技术和工具相结合,实现制作
2023-05-18
赣州网站app开发哪家做的好
赣州是江西省的一个重要城市,近年来,随着移动互联网的快速发展,越来越多的企业开始关注网站和APP的建设。然而,由于市场需求火热,赣州的网站APP开发公司也在如雨后春笋般涌现。这就为企业在选择合作伙伴时带来了烦恼。那么,赣州网站APP开发哪家做的好呢?下面就
2023-05-18
web页面做成app
随着智能手机的普及,应用程序的需求越来越高。很多网站或公司希望将他们的网站变成手机应用程序,但是并不想重新编写一个全新的应用。这时,Web页面转换成APP就是最简单、最经济、最快捷的方式了。那么Web页面如何转换成APP呢?下面我将为您介绍一些原理和详细的
2023-05-18
vue可以做app性能如何
Vue是一款流行的JavaScript框架,用于构建现代用户界面。虽然Vue主要用于构建Web应用程序,但也可以用于构建原生移动应用程序。Vue的移动端性能与其Web应用程序的性能相当,这主要取决于Vue的基本原理和与原生移动应用程序的兼容性。Vue的基本
2023-05-18
html5做移动app美团界面
HTML5是一种用于构建网站和web应用程序的标记语言,而移动应用通常使用原生代码编写。HTML5在移动应用中的应用范围正变得越来越广泛,因为HTML5的选择提供了诸如跨平台兼容性、开发速度和灵活性等优势。本文将介绍如何使用HTML5实现类似美团的移动应用
2023-05-18
地理定位配置教程
配置教程直接开启即可,开通功能后,会自动兼容html的定位,只要您的手机站在浏览器里面可以实现定位,那么打包之后,APP自动兼容;温馨提示:目前各大定位厂家接口升级,需要您的域名有做SSL,开通了HTTPS访问!二次开发demo演示地址:https://w
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号