5***@qq.com
5***@qq.com
  • 发布:2024-08-01 14:20
  • 更新:2024-08-01 18:43
  • 阅读:2113

webview在Android / IOS 上,如何授权麦克风或摄像头权限?

分类:uni-app

在开发webview打开第三方链接时,
我在使用uniapp制作多端APP时,发现在小程序、APP上,无法弹出授权通知。
报错:[features/base/tracks] Failed to create local tracks audio,video [object Object]

2024-08-01 14:20 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

问题解决了,分享给有需要的人。

原因

uniapp(老版本)的APP实现是基于APP端的js渲染,uniapp构建app(老的)其实就是构建了一个webview。uniapp自带一个叫做HTML5+的技术。
在uniapp里开发webview,本质上就是在webview里套webview。可以通过html5+ 实现监听其内部权限调用,最终反馈到APP层。

如何实现

在调用webview的页面,例如webviewtest.vue的onload方法中插入权限调用的代码,例如:

//监听授权  
            plus.android.requestPermissions(['android.permission.CAMERA'], function(e) {  
                if (e.deniedAlways.length > 0) { //权限被永久拒绝    
                    // 弹出提示框解释为何需要权限,引导用户打开设置页面开启    
                    console.log('权限被永久拒绝' + e.deniedAlways.toString());  
                }  
                if (e.deniedPresent.length > 0) { //权限被临时拒绝    
                    // 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限    
                    console.log('权限被临时拒绝' + e.deniedPresent.toString());  
                }  
                if (e.granted.length > 0) { //权限被允许    
                    console.log('权限被允许' + e.granted.toString());  
                }  
            })

其他权限参考(安卓)

https://ask.dcloud.net.cn/article/38467

最后

记得在mainfest.json中配置权限。

  • 1***@qq.com

    那ios上怎么处理?

    2024-12-26 10:04

要回复问题请先登录注册