APP封装从一门开始
一门提供APP封装底层开发框架,一键在线APP封装,200+原生APP模块,2000+JS映射接口按需自助封装

h5开发的app调用原生安卓

在H5开发中,有时候需要调用安卓原生的功能,比如调用摄像头、调用相册、获取地理位置等等,这时候就需要用到H5与原生安卓的交互。本文将详细介绍h5开发的app如何调用原生安卓的方法。

**一、原理**

在WebView中加载一个网页,等于在安卓应用程序中内嵌一个浏览器,可以在页面中加载html、css、js等前端技术所编写的内容。此时,H5与原生安卓调用原生功能的方法基于安卓提供的js调用原生方法的接口,通过js与安卓原生相互传递参数与调用,进而实现页面中native与web页面的互相调用、互相传参。

**二、详细介绍**

1.在安卓的MainActivity中指定WebView的加载页面

```

webView.loadUrl("http://www.baidu.com/");

```

2.在H5调用安卓方法前需要先将要调用的方法绑定给WebView

```

//定义一个类,继承自 WebViewClient

public class MyWebViewClient extends WebViewClient {

//设置 WebViewClient 并打开 JS 支持

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

webView.loadUrl("javascript:window.android_obj.getSource("

+ "document.body.innerHTML);");//定义JS接口

}

}

//注册方法并为其命名(可自定义)

webView.addJavascriptInterface(this, "android_obj");

webView.setWebViewClient(new MyWebViewClient());

//开启 Javascript 支持

webView.getSettings().setJavaScriptEnabled(true);

```

3.在H5页面中调用安卓原生方法

```

//通过 window.android_obj 引用已经绑定的 getPic 方法

window.android_obj.getPic();

```

4.在安卓中编写具体的JS接口实现类

```

//绑定 JS 接口

webView.addJavascriptInterface(new AndroidJSInterface(), "android_obj");

// JS 接口实现类

public class AndroidJSInterface {

//获取当前的网页源码

@JavascriptInterface

public void getSource(String html) {

Log.e("html", html);

}

//打开相机

@JavascriptInterface

public void openCamera(){

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, 0);

}

}

```

**三、注意事项**

1.在H5调用安卓原生方法时,需要默认在主线程中执行。

2.使用addJavascriptInterface绑定JS接口实现类时,需要为该类所在的包添加注解 @JavascriptInterface。

3.在Android 4.2(API 17)之后,默认不允许在js中调用原生方法,需要在WebView中开启此功能。开启方式为:在WebView中用getSettings()获取WebSettings对象,并通过setJavaScriptEnabled(true)的方式设置开启JS功能。

4.为保证安全性,在H5页面调用原生方法时,需要认真审核并确认方法所传递的参数的充分性、正确性,避免注入等不安全行为的发生。

**四、总结**

综上所述,通过WebView可以实现H5与原生安卓的交互,使得应用程序在满足前端UI美观性的同时,同时调用安卓原生功能,进而增强应用的可用性。同时,在实现过程中,我们还需要认真审核所传递的参数的充分性、正确性,使得应用程序更加安全可靠。


相关知识:
手机专门做h5的app的软件有哪些
H5手机应用程序,即基于HTML5技术开发的手机应用程序,是一种跨平台的应用程序,可以在多种移动设备上运行。H5手机应用程序的开发需要掌握相应的技术和工具,下面介绍几种常用的H5手机应用程序开发工具。 1. PHONEGAPPHONEGAP是Adobe公司
2023-05-26
如何用h5开发前端app页面
HTML5是一种用于Web编程的标准。下面将为您介绍如何使用HTML5开发前端APP页面。1. 使用HTML5的优点HTML5主要有以下几个优点:(1)兼容性良好:任何一款浏览器都支持HTML5,包括PC端和移动端。(2)结构清晰:HTML5提供了更多的语
2023-05-26
那个app可以做h5
在当今互联网时代,H5已经成为了一种时尚的表现形式,很多产品都采用了H5来进行展示和宣传。但是,很多人对于如何制作H5还比较陌生。其实,只要有一定的HTML和CSS基础,就可以使用一些H5制作的应用来快速制作自己想要的H5页面。下面,我们将介绍一些可以制作
2023-05-26
好用的h5制作app
在移动互联网发展的今天,越来越多的企业和个人都希望能够拥有一个自己的App来打造品牌和提升用户体验。然而,传统的原生App开发过程繁琐而费时,而H5制作App则成为了一种更加便捷的开发方式,下面就来介绍一下H5制作App的原理和具体过程。一、H5制作App
2023-05-25
大风秀h5制作app
大风秀是一款强大的H5制作工具,主要用于快速构建精美的移动页面及APP。使用大风秀,可以方便地添加各种页面元素、动画特效、交互效果等。同时,大风秀拥有强大的自适应排版引擎,能够在不同屏幕尺寸的设备上呈现出最佳的效果。下面,将介绍大风秀制作APP的原理和方法
2023-05-25
h5制作免费软件app有哪些
在当前移动互联网发展和移动设备升级的背景下,APP应用的市场需求量也在不断增加,因此很多人也开始着手开发APP应用。但是对于普通人来说,如果没有相关的编程知识,开发APP是很困难且不可行的。因此,为了满足更多人的需求,市面上已经出现了很多的免费制作APP软
2023-05-25
h5制作app哪款免费制作的好
H5制作APP是通过HTML5、CSS、JavaScript等Web技术来实现,相比传统的原生应用开发,它具有开发周期短、跨平台、安全易维护等优势,因此在移动应用开发领域得到越来越广泛的应用。本文将为您介绍几款免费的H5制作APP工具,从原理到具体的制作流
2023-05-25
h5页面生成app
H5页面是当前互联网领域最常用的网站开发技术之一,通过编写HTML、CSS、JavaScript等代码,可以快速实现网站的建设。但是,对于一些需要集成原生功能的应用场景,H5页面无法满足需求,这时就需要将H5页面转化为原生应用程序。将H5页面转化为原生应用
2023-05-25
h5页面开发app成本
H5页面是简单易用、轻便灵活的一种网页开发方式。它可以利用HTML5、CSS、JavaScript等网页技术,创建人性化的交互界面,这一点也是为什么H5页面开发成为智能手机应用程序(APP)开发的一种可行方案,但它同时也有一些限制和不足。一、优缺点在讨论H
2023-05-25
h5封装app扫一扫调用不起来
H5封装App是一种将H5网页应用封装成原生应用的技术手段,可以让网页应用更流畅、更具交互性,并且可以获得更多的原生功能。在实现H5封装App的过程中,常常会遇到一些问题,比如扫码调用不起来的问题。本文将介绍H5封装App扫码调用不起来的原理和解决方法。1
2023-05-25
h5代码打包app
现如今,移动应用成为人们生活不可或缺的一部分,越来越多的企业和开发者都迫切需要自己的移动应用。但是,开发一款原生应用需要掌握多个技能,包括编程语言、开发工具、UI设计等,这对于没有技术经验的人群来说是个堡垒。基于此背景,一些技术公司就推出了将H5代码打包成
2023-05-25
app混合开发和h5成本
App混合开发和H5是两种不同的移动应用开发方式。H5是一种基于HTML、CSS、JavaScript等web技术的应用开发,它可以跨平台运行,并且不需要下载安装即可访问。而App混合开发是将H5页面嵌入App中,同时使用原生代码实现App特别的功能,通过
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3