Javascript 从android webView打开摄像头
我正在尝试从android webView中加载的html页面打开android本机摄像头 通过使用HTML输入类型文件标记Javascript 从android webView打开摄像头,javascript,android,html,webview,Javascript,Android,Html,Webview,我正在尝试从android webView中加载的html页面打开android本机摄像头 通过使用HTML输入类型文件标记 <input type="file" accept="image/*"> 我不知道为什么,但相机没有打开,我不知道该怎么办 我在iphonewebview上尝试了同一个页面,它运行正常 我能做什么 如果我正确理解你的问题 你想在网页(html)中点击按钮打开android设备摄像头吗 基于这个假设,, 您需要执行以下操作 使用JavascriptInte
<input type="file" accept="image/*">
我不知道为什么,但相机没有打开,我不知道该怎么办
我在iphonewebview上尝试了同一个页面,它运行正常
我能做什么 如果我正确理解你的问题 你想在网页(html)中点击按钮打开android设备摄像头吗 基于这个假设,, 您需要执行以下操作 使用JavascriptInterface
public class WebVCamBridgeInterface {
/**
* Javacript function to start native camera
*/
@JavascriptInterface
public void takePicture() {
captureImage();
}
/**
* Javascript function to start the GalleryActivity for user to choose the image to be uploaded
*/
@JavascriptInterface
public void showPictures() {
Intent intent = new Intent(LandingActivity.this, GalleryActivity.class);
startActivityForResult(intent, Constants.REQ_GALLERY);
}
}
将JSinterface添加到您的webview
webView.addJavascriptInterface(new WebVCamBridgeInterface (), "AndroidDevice");
在html/web页面中包含以下JS
<script>
function takePicture() {
if(typeof AndroidDevice !== "undefined"){
AndroidDevice.takePicture();
}
}
function showPictures() {
if(typeof AndroidDevice !== "undefined"){
AndroidDevice.showPictures();
}
}
function imageData(data){
document.getElementById('displayImage').setAttribute( 'src', 'data:image/png;base64,'+data );
if(typeof AndroidDevice !== "undefined"){
}
}
</script>
函数takePicture(){
if(AndroidDevice的类型!=“未定义”){
AndroidDevice.takePicture();
}
}
函数showPictures(){
if(AndroidDevice的类型!=“未定义”){
AndroidDevice.showPictures();
}
}
函数imageData(数据){
document.getElementById('displayImage').setAttribute('src','data:image/png;base64',+data);
if(AndroidDevice的类型!=“未定义”){
}
}
我提供了一个带有演示视频的示例项目链接,请看一看。
您也可以参考这些教程
干杯 如果我错了,请纠正我,但是您试图从html页面打开相机,对吗?