免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的区别主要在于他们的构建方式、技术栈、用户特点和使用场合不同。1. 构建方式做网站的构建方式主要是通过HTML、CSS、JavaScript等前端技术实现网页的布局、样式和交互,通过服务器端语言如PHP、Java、Python等实现后端逻辑
2023-05-18
做一个安卓app只需要前端和后端吗
一个安卓app通常由三个部分组成:前端、后端和数据库。前端是用户最直接接触的部分,包括用户界面和交互逻辑;后端则是应用程序的架构和业务逻辑的实现,它负责提供数据和处理请求,保证应用程序的正确性和稳定性;数据库则是用于存储数据的一种结构化数据存储方式。一、前
2023-05-18
有什么做h5的app
H5(HTML5)是一种新的Web技术标准,它表现力更强,支持更多新型的多媒体特性和编程接口。H5技术的发展,让我们可以使用web技术在手机上构建app,称之为H5 App。H5 App是一种HTML5技术开发的应用程序。与传统的原生应用程序(Native
2023-05-18
学习做衣服的app或者网站
在当今的时代,越来越多的人开始注重手工制作裁缝,而独立设计师又开始流行。因此,在互联网上,出现了越来越多的学习做衣服的app和网站。在这篇文章中,我将会向大家介绍一些主流的学习做衣服的app和网站,包括其原理和详细介绍。一、app类1. 好家园好家园是一款
2023-05-18
如何才能将网站做成app
将网站做成app是一个常见的需求,尤其是在移动互联网盛行的今天,人们更加依赖手机应用来浏览信息。那么如何才能将网站做成app呢?我们可以从以下两个方面入手。一、原理介绍移动应用程序可以分为两类:原生应用程序和Web应用程序。 原生应用程序是可下载和安装的本
2023-05-18
前端做app技术
在移动互联网时代,开发者们不仅仅局限于只开发网页,而是需要学习和应用一些特定的技术来达到更好的交互和用户体验。其中一种叫做前端做app技术。下面就来详细介绍一下。1. Hybrid App技术 Hybrid App技术(混合应用开发)是指将Web技术和Na
2023-05-18
前端做的app
随着移动设备的普及,越来越多的网站和企业开始关注移动端应用的开发。而在移动应用开发中,前端开发也有着非常重要的地位。一般而言,前端做的app可以分为两种类型:一种是纯Native应用,也就是使用原生的开发语言和技术进行开发;另一种则是基于Web技术开发的H
2023-05-18
福州做网站开发app开发的公司有哪些
福州做网站开发和app开发的公司有很多,以下是一些比较知名的公司:1. 福州淘着玩网络科技有限公司福州淘着玩网络科技有限公司成立于2014年,是一家专注于移动互联网产品研发、设计和应用开发的公司。公司拥有一支多年从事移动互联网行业的技术精英团队,主营业务包
2023-05-18
h5做app的
HTML5作为一种跨平台的开发技术,可以使得开发人员只需要编写一次代码就可以在不同的平台上运行,这对于开发者来说是非常便利的。在移动应用市场激烈的竞争中,HTML5技术也逐渐被应用到了移动应用开发中。在本文中,我将详细介绍HTML5作为移动应用开发的原理和
2023-05-18
golang内嵌vue的app做界面
在现代的web应用中,传统的后端服务和前端界面已经逐渐分离,前后端通过RESTful API进行交互,使得应用的开发变得更加分工明确、易于维护。然而,对于一些需要高并发、高实时性或者需要提供更好用户体验的应用,这种传统的分离方式仍然存在一些问题。Go语言作
2023-05-18
appcan是用什么语言做网站
AppCan是一款跨平台的应用程序开发工具,旨在帮助开发人员快速、高效地创建移动应用程序。AppCan的网站使用的主要技术是HTML、CSS、JavaScript和PHP。下面是这些技术的简要介绍。HTML(超文本标记语言)是一种用于向网页添加结构和内容的
2023-05-18
屏幕常亮功能操作详解
屏幕常亮功能操作详解某一些特殊行业,需要设备一直长时间亮屏幕,比如点餐,酒店等行业!这个时候就需要开启【屏幕常亮】功能了1.在配置APP里面找到【屏幕常亮】2.点击图标,进入配置界面APP处于激活状态时手机不会进入暗屏或黑屏休眠模式,这会增大手机耗电量,部
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号