如何在 Android WebView 中允许访问相机

Posted

技术标签:

【中文标题】如何在 Android WebView 中允许访问相机【英文标题】:How to allow access to camera in Android WebView 【发布时间】:2022-01-01 11:22:12 【问题描述】:

我想在使用设备摄像头的 android WebView 中加载网站。但在 Android WebView 上我无法访问设备摄像头

当我在 javascript 中运行时:navigator.mediaDevices.getUserMedia( video: true ) 它不要求相机的许可并给出以下错误:

我在AndroidManifest.xml中添加了以下权限

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

谢谢!!

【问题讨论】:

然后呢?现在上班了吗? 【参考方案1】:

您仍然需要请求用户授予您的应用使用相机的权限。我不认为你可以在你的 WebView 中请求这个权限(你可以implement a JavaScript interface 虽然通过你的网络应用程序触发它),所以你需要在你的应用程序上用 Java/Kotlin 本地完成它(也许你想在启动时执行此操作)

您可以通过执行类似的操作来请求许可

    requestPermissions(this, arrayOf(Manifest.permission.CAMERA), REQUEST_CODE)

您可以查看更多关于在 Android 上请求使用硬件的权限here

【讨论】:

以上是关于如何在 Android WebView 中允许访问相机的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WebView Flutter 中允许 mailto 和 tel URL 方案?

Gradle 错误:仅在 Android Studio 中允许从事件调度线程进行写访问

如何解决 cors 在 vue js 和 laravel 应用程序中允许访问控制

在 symfony 访问控制中允许控制器操作

在Android Fragment中允许权限导致应用程序崩溃?

如何在php中允许有限大小的文件上传?