如何从启用了JavaScript的Web视图访问摄像机?

时间:2019-05-31 09:57:42

标签: android html webview permissions camera

我托管了具有以下内容的HTML文件

当我在Android的Chrome浏览器中打开此链接时,便可以访问相机。

现在在我的android应用中,我正在使用已启用了JavaScript的webview加载此托管HTML文件,相机未在webview中打开

托管的html5链接为https://dcf04ed1-719d-4afb-ba44-4f213edfe6e7.htmlpasta.com

我还在GitHub上载了一个示例来演示此问题 https://github.com/sanjeev444456/android_webview_sample

我已经检查了logcat,没有错误 我仍然尝试了Webview设置的不同组合,但这不起作用

<input type="file" accept="image/*" capture="camera" />

    myWebView = findViewById(R.id.mywebview);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    myWebView.getSettings().setDomStorageEnabled(true);
    myWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
    myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
    myWebView.setWebViewClient(new WebViewClient());
    myWebView.setWebChromeClient(new WebChromeClient() {
        @TargetApi(Build.VERSION_CODES.LOLLIPOP)
        @Override
        public void onPermissionRequest(PermissionRequest request) {
            Log.d(TAG, "onPermissionRequest" + request.toString());
            request.grant(request.getResources());
            Log.d(TAG, "GRANTED");
        }

        @Override
        public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
            Log.d(TAG, consoleMessage.message());
            return true;
        }
    });

    myWebView.loadUrl("https://dcf04ed1-719d-4afb-ba44-4f213edfe6e7.htmlpasta.com");

当我在网络视图中单击“选择”按钮时,它应该会打开相机,但目前没有任何反应

0 个答案:

没有答案