免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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,让用户可以在App中直接使用网页的功能和服务。这种方式在一定程度上可以为用户带来更好的用户体验。下面介绍一下如何做一个网页App。首先,我们需要明确一个概念:H5和Hybrid App。H5是指利
2023-05-18
做一个免费app制作网站
随着智能手机的普及,越来越多的人开始使用手机应用程序进行工作、学习、娱乐等活动。但是,为了开发和发布应用程序,学习编程和设计方面的知识是必要的,这对许多人来说是非常困难的。因此,一些免费的应用程序制作网站应运而生,为普通人提供了无需专业知识制作自己的应用程
2023-05-18
怎么浏览h5做的手机app界面
H5做的手机app界面,是指利用HTML5、CSS3等Web前端技术实现的移动应用。浏览H5做的手机app界面,需要通过浏览器打开网页,而非下载安装App。H5做的手机app界面与原生App界面相比,有以下优点:1. 跨平台性H5技术使得应用不受限于特定操
2023-05-18
怎么自己做手机app网站
现代人的生活中,手机APP越来越重要,这也导致越来越多的企业或个人都希望有一个属于自己的手机APP网站。但是,对绝大部分人来说,开发一款APP网站是一项非常庞大的工程,需要掌握许多技术和知识。不过,本文将为大家详细介绍如何自己做手机APP网站。一、了解硬件
2023-05-18
怎么将自制网站做成app
想要将自制网站做成app,需要涉及到移动应用开发和网站开发两个方面的知识。本文将从技术原理和具体步骤两个方面介绍如何将自制网站做成app。一、技术原理通常来说,将网站做成app的方法有两种:一种是使用第三方应用开发平台,例如Flutter、React Na
2023-05-18
前端html不可以做手机app界面吗
HTML是一门用于创建网页的标记语言,它不是一种编程语言,不能直接用于创建应用软件。HTML 主要是用于创建网页的内容和结构, 它可以使用不同的标签和元素来定义文本、图像、链接以及其他网页元素。 因此,HTML 单独使用是无法用于创建手机应用程序的。通常在
2023-05-18
前端做原生app
前端开发是一种面向用户端的开发,它主要是通过使用HTML、CSS、JavaScript等技术来实现网站或网页的开发。而原生app开发则是指在移动设备上,使用特定的编程语言和技术来开发具有原生性能的应用程序。本文将介绍前端如何实现原生app的开发。一、前端a
2023-05-18
前端做app主要用什么
前端开发是一种负责构建用户界面的技术,它是现代应用程序开发的重要组成部分。在构建移动应用时,前端开发比较常用的技术包括:HTML、CSS、JavaScript及相关框架库。HTML是一种用于开发Web页面的标记语言。在移动应用开发中,HTML主要用于定义应
2023-05-18
哪些app使用websocket做的
WebSocket是一种Web通信协议,它的目标是在Web浏览器和Web服务器之间实现双向通信。相比于HTTP协议,WebSocket更加高效、实时、稳定,并且可以避免一些长轮询带来的问题。下面我们来介绍几个使用WebSocket的应用程序。1. 聊天室应
2023-05-18
python可以做app前端吗
Python是一种高级编程语言,常用于数据分析、人工智能、后端开发等领域,但在移动端开发中,Python的应用相对较少。Python可以通过不同的方式进行前端开发,但并不适用于原生应用的开发。下面将介绍Python的前端开发适用场景,以及相关原理和框架。P
2023-05-18
app前端开发主要做什么
APP前端开发是一种针对移动端软件界面设计与开发的技术,主要负责在移动端设备上实现和展示用户交互界面、设计流程和软件功能等功能。虽然前端开发的工作范围十分广泛,但它通常包括以下几个方面:一、用户界面设计UI 设计是开发应用程序必不可少的模块,APP前端开发
2023-05-18
底部/顶部导航操作详解
底部/顶部导航操作详解1.在配置APP里面找到【底部/顶部导航】2.点击图标弹出配置界面3.底部/顶部导航操作详解可以在线控制状态,导航高度,颜色,图标和链接,以及显示样式等开启或关闭顶部有启用和停用按钮,点击即可开启或关闭该功能;设置底部/顶部导航的高度
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号-1