android webview getusermedia,getUserMedia是否可以在Android应用程序的ionic-...

更新-04/11/2018-正常工作的离子示例

如所承诺的,我今天对此有所了解.现在要完全回答您的问题:是的,您可以在Android上的ionic中访问getUserMedia.

有关工作示例和屏幕截图,请参见我的GitHub项目here.

请参阅此功能分支here,该分支成功在iframe中测试了getUserMedia

涉及的步骤:

>安装离子

>离子启动getUserMedia空白

> cd getUserMedia

>离子cordova插件添加cordova-plugin-android-permissions

> npm install-保存@ ionic-native / android-permissions

> npm安装webrtc-adapter –save

>链接到angular.json脚本中的适配器(link)

>将AndroidPermissions添加到app.module.ts提供程序(link)

>在home.component.ts中创建摄像机访问代码(link)

>向config.xml和AndroidManifest.xml添加android manifiedt权限(link,如果配置未复制,请转到platform / android / app / src / AndroidManifest.xml)

>离子科尔多瓦平台添加Android

>离子科尔多瓦建立Android

>离子科尔多瓦运行Android

由于Apple对WKWebView和UIWebView的安全限制,从此更新开始,对iOS的支持仍为否.

iframe:要确保getUserMedia在其中起作用,请确保您:

>嵌入式站点的CORS需要具有允许的访问源头

>启用安全权限以访问摄像头和麦克风

请阅读以下有关iframe功能的详细信息:

是的,理论上它可以工作.请参阅下面的示例,了解如何在Android中执行此操作.对于iOS,由于WKWebView的限制,目前尚无法实现.我已经链接到下面的StackOverFlow问题,即人们如何在Ionic所基于的Cordova上实现这一目标.

无论框架如何,要使getUserMedia在Android上运行都需要实现的核心主要步骤是:

>确保您的应用是Android API 21及更高版本

>向清单添加权限(link to file)

>确保使用getUserMedia适配器以实现API兼容性

>确保将webrtc添加到Android项目gradle文件(link to file)

>覆盖Chrome WebView的权限以进行高级访问(link to file example, line 106)

>在应用程序启动时,询问用户是否有权访问相机.

您面临的具体问题是4.或5.看起来该项目使您走到了那么远.权限错误很可能是由于您的应用所使用的Chrome WebView不会覆盖该权限,并且/或者是,并且用户尚未手动启用该权限.

因此,在Ionic框架内,您需要扩展其浏览器以访问对onRequestPermissionsResult的覆盖.为此,您需要制作一个Cordova插件,然后创建Ionic绑定.

可在此处找到有关类似框架的更多信息:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值