gpt4 book ai didi

android - 如何从 Webview 中访问摄像头?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:03 27 4
gpt4 key购买 nike

在我的 android 应用程序中,我试图在 WebView 上加载网页(必须访问相机)。在我的笔记本电脑上,当我加载网页时,我可以访问相机。

显示 html 页面上的所有其他内容。

这是我在 Manifest.xml

中添加的权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.webkit.PermissionRequest" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

我将 SDK 设置如下:

<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="21" />

这是我的 WebView 设置:

private void setMyWebviewSettings(WebSettings MyWebviewSettings) {
MyWebviewSettings.setAllowFileAccessFromFileURLs(true);
MyWebviewSettings.setAllowUniversalAccessFromFileURLs(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setJavaScriptEnabled(true);
MyWebviewSettings.setDomStorageEnabled(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setBuiltInZoomControls(true);
MyWebviewSettings.setAllowFileAccess(true);
MyWebviewSettings.setSupportZoom(true);
}

如果我可以直接从我的应用程序访问相机(使用正常 Activity ),为什么我不能从 WebView 中打开它?!

最佳答案

我正在尝试同样的事情。下面的代码对我有用。

首先在 list 文件中,我们必须使用 uses 权限标签添加相机硬件权限 true。

然后需要接受相机许可才能在您的 Activity 中使用以下行。

webview.setWebChromeClient(new WebChromeClient() {

@Override
public void onPermissionRequest(final PermissionRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
request.grant(request.getResources());
}
}

});

关于android - 如何从 Webview 中访问摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40659198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com