分享

How to allow getUserMedia on a ionic project with crosswalk

 昵称597197 2016-04-05

When I run my ionic app with crosswalk, and try open the camera through the getUserMedia api. I get the PermissionDenied error

getUserMedia permissionDenied 

How to allow the access to camera?




Have you configured content secutity policy in your html file? (please discard this answer if you're not using cordova 5 with plugin cordova-plugin-whitelist)

I think that in order to use getUserMedia in cordova, you have to add the following string in your CSP meta tag :

media-src: 'self' mediastream:

(csp configuration borrowed from this page)

More info about the cordova-plugin-whitelist there and CSP doc there.



Unfortunately, it didn't work. It seems that in the ionic, It is locked in another way. But with pure cordova, this 'CSP' directive is right. – Marcelo Dolce Jul 3 '15 at 18:39


   
As ionic is based on angular, have you tried adding angular-csp.css ? (docs.angularjs.org/api/ng/directive/ngCsp ) – QuickFix Jul 7 '15 at 12:15

I managed to solve as follows:

1o Simply using pure cordova, without ionic or CCA.

2o Adding the crosswalk plugin:

cordova plugin add cordova-plugin-crosswalk-webview

Repository page: https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

3o And in the AndroidManifest.xml add the line:

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

See more permissions at: https:///documentation/manifest/permissions.html

The importance of the CSP rules still remain, as QuickFix said.

:media-src: 'self' mediastream:


Adding 'blob:' to the Content-Security-Policy media-src works in Chrome: media-src * blob: –



http:///questions/31186176/how-to-allow-getusermedia-on-a-ionic-project-with-crosswalk

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多