免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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. 了解不同操作系统和不同应用程序平台构建应用程序需要对不同的操作系统和不同的应用程序平
2023-05-18
做差差事app404网站
做差差事APP404网站是一个以解决各种生活问题为主要服务内容的移动端应用程序。用户可以通过做差差事APP404网站发布自己面临的困境,并获取有经验的帮助者提供的解决方案,也可以为其他人提供解答问题的服务。本文将对做差差事APP404网站的原理和详细介绍进
2023-05-18
做共享电动自行车前端app联调
想要做一款共享电动自行车前端App联调,首先需要了解一些基本的原理和步骤。在这里,我将会详细介绍一下这些内容,希望可以对您的开发工作有所帮助。一、联调前准备工作1. 前端文档准备: 在开始联调之前,我们需要先了解前端文档的内容,包括接口的调用方式,传递参数
2023-05-18
做一款app需要网站吗
做一款app通常情况下不需要一个网站,但在某些情况下有必要建立一个网站。首先,需要明确的是一个app和网站是两个不同的东西。App(Application)是一种应用程序,通常运行在移动设备上,例如智能手机、平板电脑和手持式游戏机等。而网站则是一种在线平台
2023-05-18
怎样把网页系统做成app
将网页转化为 App 是近年来越来越受欢迎的技术,理论上只要是网页上的应用放在手机上就要能起到同样的作用。现在很多网站都有适用于手机的网页版,但因为跨平台兼容性等问题,以及使用者更喜欢原生应用等因素,让将网页转化为 App 成了更具吸引力和必要性的解决方案
2023-05-18
我做网站和app
在互联网时代,网站和app是不可或缺的两个组成部分。它们都是通过网络展示信息、提供服务和商业价值的一种手段。但网站和app最基本的功能是不一样的。网站是指通过浏览器可以访问的,放置在网络上的一个能够提供信息或者服务的平台,而app是一种应用程序,需要安装在
2023-05-18
淘宝app前端用什么做的
淘宝APP 前端使用了多种技术栈来构建,主要是 React Native 和 H5 技术。React Native 是 Facebook 于2015年开源的一个跨平台移动开发框架,可以使用 JavaScript 和 React 开发同时支持iOS 和 An
2023-05-18
网页做app软件
网页应用程序或网页版软件是一种基于网络的应用程序,用户在网页浏览器中使用它。现在越来越多的网站都采用了响应式设计,可以自适应不同的设备,包括电脑、平板和手机等多种终端。但是,有些网站并没有兼容移动端,用户在手机上访问时体验不佳,这时候我们可以考虑将网页做成
2023-05-18
可以做副业的网站app
在如今的互联网时代,越来越多的人开始尝试通过互联网去寻找额外的收入。而一些可以做副业的网站和APP得到了愈来愈多人的关注,成为了一种很有吸引力的副业选择。那么,以下我将为您介绍一些可以做副业的网站和APP,以及它们的工作原理和详细介绍。1. 知乎知乎是国内
2023-05-18
仅有网站做app
网站转化为手机应用程序,是将网站内容打包成APP的过程。APP可以帮助提高用户的观感和体验,并且单独占用设备。 网站APP也可以被用户下载,无需进入浏览器打开页面。通过此方式,移动设备用户可以直接在桌面上启动APP享受内容或服务。网站做APP的的原理有两种
2023-05-18
app做的h5
H5(HTML5)是指HTML第五个版本,是一种用于制作网页的标准标记语言,它的目标是统一多样化的Web应用程序表现形式。而App是移动设备上的应用程序,如现在大家常用的微信、支付宝等。而App做的H5,就是在移动应用上嵌入Web页面,从而让用户可以在移动
2023-05-18
通讯录配置教程
配置教程通讯录功能操作详解二次开发demo演示地址:https://www.zhidianwl.com/doc/demo.cshtml
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号