如何在带有人行横道的离子项目上允许 getUserMedia

How to allow getUserMedia on a ionic project with crosswalk

当我 运行 我的离子应用程序带有人行横道时,并尝试通过 getUserMedia api 打开相机。我收到 PermissionDenied 错误



如何允许访问相机?

您是否在 html 文件中配置了内容安全策略? (如果您不使用带有插件 cordova-plugin-whitelist 的 cordova 5,请丢弃此答案)

我认为要在 cordova 中使用 getUserMedia,您必须在 CSP 元标记中添加以下字符串:

media-src: 'self' mediastream:

(从 this page 借用的 csp 配置)

有关 cordova-plugin-whitelist 的更多信息there and CSP doc there

我设法解决如下:

简单地使用纯 cordova,没有离子或 CCA。

添加人行横道插件:

cordova plugin add cordova-plugin-crosswalk-webview

存储库页面:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

并在 AndroidManifest.xml 添加行:

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

查看更多权限: https://crosswalk-project.org/documentation/manifest/permissions.html

CSP 规则的重要性仍然存在,正如 QuickFix 所说。

:media-src: 'self' mediastream: