免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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并不是一项容易的任务,因此出现了很多专门
2023-05-18
做app和网站那个便宜
做 app 和网站哪个便宜的问题涉及到许多方面的因素,如项目的规模、功能、复杂度、时间、人员和技术等多方面考虑,且不能简单地进行比较。此外,每个项目的需求都不同,需要根据具体情况来衡量和分析,因此不能以偏概全地回答这个问题。下文将从多方面来介绍和分析这个问
2023-05-18
自建网站做app
随着智能手机的普及和移动互联网的不断发展,越来越多的人开始使用手机APP。如果你是一名网站博主,或者是一名为网站运营而奔波的工程师,你会产生一个问题:如何自建一个APP,让用户更加方便地访问你的网站?本文将介绍自建网站做APP的原理和方法。自建网站做APP
2023-05-18
怎么把我刚建的网站做成app
将网站转换为移动应用程序可以带来更好的用户体验,更方便的操作以及更高的访问率。下面介绍一些方法可以帮助将网站转换为移动应用。1. 原生应用程序转换:原生应用程序是使用Java,Objective-C等开发语言编写的应用程序。这种应用程序相对于Web应用程序
2023-05-18
用ionic做个app
Ionic是一个用于构建混合移动应用程序的框架,使用HTML、CSS、JavaScript语言结合AngularJS框架构建。Ionic为开发人员提供了丰富的组件、工具和API,方便快捷地开发出美观、高效的混合移动应用程序。它基于Web标准构建,并支持多平
2023-05-18
用php做手机app
PHP与移动APP开发有什么关系?在移动互联网时代,许多开发者都希望能够快速地为自己的网站、服务或者应用开发出一个相应的移动客户端。接下来,我们将介绍一种使用PHP做手机APP的方法。一、方案介绍简单来说,这种方案就是在前端集成了一个WebView控件,然
2023-05-18
我自己从app网站做了一个软件
近年来,移动互联网的兴起使得各种类型的APP应运而生。APP已经成为现代人生活、学习的重要工具之一。那么,对于开发者来说,如何快速开发一个好用的APP呢?下面将以我自己从app网站做了一个软件为例,简单介绍一下APP级开发原理。一、APP开发平台开发APP
2023-05-18
手机app可以做网站吗
手机App和网站都是现今互联网发展的成果之一,但是两者的实现方式和使用方式都有所不同。那么,能否用手机App来代替网站呢?答案是肯定的,手机App可以做网站,而且在某些场景下还具有更多优势,下面详细介绍一下这方面的知识。首先,需要明确的是,手机App不同于
2023-05-18
那些app的前端做得好
在当今移动互联网时代, App已经成为了人们生活中不可或缺的一部分。不同的 App有着不同的功能和用途,但是都有一个共同点,那就是需要一个良好的前端设计,提供更好的用户体验。以下是一些前端设计做得好的App。1.微信(WeChat)微信是一款全球知名的社交
2023-05-18
html5java做app
HTML5是互联网上使用最广泛的技术之一,而Java是一个跨平台语言,这两者都有着不同的应用场景。在移动应用开发领域,将HTML5和Java结合使用可以实现很多的功能,无论是移动Web应用还是原生应用都可以实现。HTML5技术是基于Web的,它可以在不同类
2023-05-18
bootstrap做app好吗
Bootstrap是由Twitter为了提高工作效率所开发的一个开源前端框架,当然,可以使用Bootstrap来做App,但是Bootstrap并不是一个专门为移动应用程序开发设计的框架。Bootstrap作为一个前端框架,可以协助开发人员在Web和移动应
2023-05-18
加载进度动画配置教程
配置教程加载进度动画功能操作详解二次开发demo演示地址:https://www.zhidianwl.com/doc/demo.cshtml
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号-1