uniapp Android, IOS 权限判断

一般来说权限可通过 纯js的Native.js来是实现,不需要打包自定义基座。Native.js的详细介绍见Native.js入门

uniapp插件地址:(https://ext.dcloud.net.cn/plugin?id=594)

andrioid权限是直接打开设置列表就能出现,而IOS的权限则是需要你有调用过的才会出现

在ios想要使用某个权限可通过 h5 + 模拟调用来唤醒权限
如:ios中获取摄像头的权限

//(部分代码,修改插件源码)
// 判断相机权限是否开启
function judgeIosPermissionCamera() {
    let result = false;
        // 利用 h5+ 方法
    var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
    console.log('AVCaptureDevice', AVCaptureDevice)
    var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
    console.log("authStatus:" + authStatus);
    if (authStatus == 3) {
        result = true;
        console.log("相机权限已经开启");
    } else {
        console.log("相机权限没有开启");
        // 模拟扫码场景 获取相机权限
        barcode = plus.barcode.create('barcode', [plus.barcode.QR], {
            top: '100px', //改为-9999px隐藏该页面
            left: '0',
            width: '100%',
            height: '500px',
            position: 'static'
        });
        plus.webview.currentWebview().append(barcode);
        // 
    }
    plus.ios.deleteObject(AVCaptureDevice);
    return result;
}

你可能感兴趣的:(uniapp Android, IOS 权限判断)