免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的覆盖面相对较窄,主要集中在移动设备的用户群体
2023-05-18
做手机app的网站
做手机APP的网站,可以分为以下几个步骤:1. 确定目标群体和需求在开始开发APP之前,需要确定你的目标群体和他们的需求,这有助于你了解用户的需求,从而开发出更符合用户需求的APP。同时,也需要考虑APP的功能和特点等方面,从而明确你要开发的APP的类型。
2023-05-18
做app免费封装的网站
在建立一个app的过程中,封装是一个必要的步骤。这个过程有很多方式可以实现,包括自己编码或者使用软件进行封装。最近,出现了一些免费的封装网站,让初学者更容易地制作自己的app。本文将介绍一下这些免费封装网站的原理以及一些常见的免费封装网站。封装的原理:封装
2023-05-18
营销型网站app建设做的比较好的有哪些
营销型网站和App建设涉及到的具体内容非常多,需要从多个方面考虑和梳理。下面,我们从用户体验、设计理念、技术选型等多个方面来分析和介绍一些做的比较好的营销型网站和App。一、用户体验用户体验是影响网站和App成功与否的一个重要因素。一个能提供良好用户体验的
2023-05-18
网站做成手机app简单么
将网站转化为手机app的过程并不是很复杂,但需要一定的技术和知识作为支持。下面我来向你介绍一下,网站转化为手机app的原理和方法。通常情况下,将网站转化为手机app主要有两种方法。1. 将网站进行H5页面打包封装成App这种方法是最为简单的一种方式,推荐未
2023-05-18
网页做成app那个软件
网页做成APP的软件一般指的是一些低代码或无代码开发平台,可以通过简单的操作将网页变成APP,无需复杂的编程知识。这类软件有很多种,下面介绍两种比较常用的网页转APP软件的原理和使用方法。一、HBuilderHBuilder是一款集成开发环境(IDE)软件
2023-05-18
哪些是vue做的app
Vue是一种用于构建用户界面的渐进式框架,它也可用于开发跨平台应用程序。以下是一些使用Vue开发的跨平台应用的示例。1. WeexWeex是一个基于Vue.js的跨平台移动应用程序开发框架,它可用于开发iOS、Android和Web应用程序。Weex与Re
2023-05-18
哪些app的网站主页做得比较好
1. AirbnbAirbnb网站的设计简单、直观,无论是整体风格还是细节部分都做得非常棒。首先,首页的主色调非常明快,自然地引人注目。整个网站采用了清晰有序、易于用户导航的布局,各项信息都被优美的呈现在用户面前。此外,网站中随处可见的高质量图片和干净的字
2023-05-18
没有网站可以做app吗
在互联网时代,人们的生活离不开手机。而作为手机的重要组成部分之一,应用程序(App)在人们的日常生活中扮演着越来越重要的角色。无论是出行、购物、社交还是学习、健康等等,人们都离不开各类App的帮助。因此,除了传统的软件开发方式外,利用网站开发App也备受关
2023-05-18
vue做app扫码
Vue是一款前端框架,可以用来构建Web应用程序,并且也可以用来构建原生应用程序。在构建原生应用程序时,Vue Native是Vue.js生态圈中的一个非常不错的选择。Vue Native提供了一种基于Vue.js的方式来构建原生应用程序的解决方案。扫码功
2023-05-18
vue做app的优势
Vue.js 是一种轻量级的 JavaScript 框架,是一种流行的前端开发框架。它以其简洁、易用、高效、渐进式的特点,在前端开发中迅速获得了广泛的应用。尤其是在移动端应用程序开发中,Vue.js 的优势变得更加显著。Vue.js与其他框架的比较与其他前
2023-05-18
appium做纯h5测试
Appium是一个支持多种移动设备的开源自动化测试框架,可以用于Android和iOS平台的原生应用、混合应用和Web应用程序的自动化测试。对于Web应用程序的测试,使用Appium可以简化测试流程和提高测试效率。纯H5测试是指测试的对象是运行在手机浏览器
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号