免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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. 做网站的原理做网站的原
2023-05-18
做一个网站多少钱和app
做一个网站或者APP,需要考虑的因素有很多,比如设计风格、技术栈、功能模块等等,因此价格也大不相同,所以无法给出一个具体的数字。本文将根据我的经验,从技术层面和市场层面为大家分享一些制作网站或APP的基本情况,帮助大家了解从设计到上线的整个过程。一、网站制
2023-05-18
怎样做一个app浏览网页
要做一个能够浏览网页的app,就需要理解一些基本的原理。首先,我们需要了解HTTP(超文本传输协议)是如何工作的。HTTP允许客户端浏览器(或移动设备上的App)向Web服务器发送请求,请求获取服务器上的网页文档。服务器返回的响应则包含了请求的网页文档,以
2023-05-18
手机app前端工程师都能做什么项目
作为一名手机app前端工程师,他们能够参与各种移动端应用项目的开发,包括大型的商业应用、社交娱乐应用、和各种工具类应用等等。下面我们结合实际项目经验详细介绍一下具体能够做什么样的项目。1. 商业应用商业应用是大型应用中比较常见的一种类型,为了满足不同用户群
2023-05-18
那些app的前端做得好
在当今移动互联网时代, App已经成为了人们生活中不可或缺的一部分。不同的 App有着不同的功能和用途,但是都有一个共同点,那就是需要一个良好的前端设计,提供更好的用户体验。以下是一些前端设计做得好的App。1.微信(WeChat)微信是一款全球知名的社交
2023-05-18
免费做app的网站安卓版
现在越来越多的人都希望有自己的手机应用程序,而这也成为了一个新的市场,许多有创业思想的人也希望能够快速地开发出自己的应用。不过,对于没有编程经验的用户来说,开发App是一件非常困难的事情。但是,现在有很多免费的在线工具可以帮助用户简单地创建自己的App,本
2023-05-18
免费做h5的app
H5是一种使用HTML5技术创建的网页,它根据不同的设备自适应,可以用于多种终端。而H5 App则是基于H5技术开发的应用程序,也称为Web App。H5 App相比于原生App,具有轻量级、跨平台、兼容性好等优势。同时,基于WEB技术的开发方式也使得开发
2023-05-18
将手机网站做成app的困难
在移动互联网时代,移动应用程序早已成为许多人的日常生活必需品。然而,对于初创公司或预算有限的企业而言,制作一个原生的应用程序是一项非常昂贵的事情,特别是对于安卓和iOS应用程序而言,需要花费大量的时间和金钱。因此,许多企业都将目光投向了转换手机网站成为应用
2023-05-18
react做的app
React是一种用于构建用户界面的JavaScript库。与其他模板引擎不同的是,React使用了虚拟DOM,使更新UI变得更加高效。React为我们提供了一些重要的抽象概念,如组件和状态。这些概念使得我们可以轻松地创建复杂的用户界面。React的组件化方
2023-05-18
react做app开发
React是一个基于JavaScript的开源库,可以帮助开发者构建用户界面。React通过提供组件化的方式帮助开发者构建复杂的UI界面,又由于其高效的渲染机制和虚拟DOM的优化,使得其在构建大型应用时有着出色的性能表现。因此,在app开发中,React也
2023-05-18
html5做app
HTML5 是一种网页标准,是 HTML、CSS 和 JavaScript 的组合。通过 HTML5,可以实现移动应用、桌面应用、网页游戏等一系列软件的开发。同时,HTML5 还有诸多优势,如使用简单、运行跨平台、更新方便等。那么,如何使用 HTML5 来
2023-05-18
h5做app和原生app有啥区别
移动应用已经成为人们生活中不可或缺的一部分,为了满足不同用户对于应用的需求,开发者们也在不断地探索研究新技术,其中HTML5技术就是一个备受关注的技术。在应用开发的选型上,很多人都会犯愁:是选择原生应用开发,还是选择采用HTML5技术进行开发呢?首先,原生
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号