在Android webview中访问相机功能?

问题描述 投票:2回答:2

我正在构建一个Native-Android / WebView-App,其代码托管在远程服务器上(使用HTML和Javascript)。

Web App具有通过HTML表单启动手机摄像头的功能,输入请求:

<form action="#" method="post" enctype="multipart/form-data" >
<input name="image" type="file" accept="image/*" capture/>
</form>

此功能在标准Android Web浏览器中运行良好,但在Native App WebView浏览器中无法正常运行。

我在Native应用程序清单中启用了以下权限,但仍然无法启动相机:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

如果无法使用此功能,我会接受能够访问相机胶卷,以便用户只需选择他们已经拍摄的照片,但我宁愿像在标准网络浏览器中那样启动相机。

有人可以帮忙吗?

android webview camera android-webview android-camera
2个回答
0
投票

使用Javascript界面​​启动摄像头。

要么

您可以使用cordova框架。


0
投票

从Webview访问Camera时,它会请求权限,我们可以通过覆盖onPermissionRequest来授予它们。还要确保注意运行时权限。

webView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onPermissionRequest(PermissionRequest request) {
            request.grant(request.getResources());
        }
    });

此外,请确保禁用此属性

webSettings.setMediaPlaybackRequiresUserGesture(false);
© www.soinside.com 2019 - 2024. All rights reserved.