APICloud app 开发 获取 相机 、麦克风、存储 等权限执行操作 安装首次使用时 弹窗 一键开启 或者 直接跳到 设置页面

问题描述

没有开启权限时,无法进行拍照,存储…… 以至于在华为荣耀机型中 无法正常 打开照相机 等

代码 封装

//js封装
function checkPermision(name) {
    
    
	return new Promise((resolve, reject) => {
    
    
		var resultList = api.hasPermission({
    
    
			list: [name]
		})
		// 权限已开
		if (resultList[0].name === name && resultList[0].granted) {
    
    
			resolve()
		} else {
    
    
			// 权限未开,请求权限
			requestPermision(name).then(res => {
    
    
				resolve()
			}).catch(err => {
    
    
				reject({
    
    errMsg:'权限开启失败'})
			})
		}
	})
	
}

function requestPermision(name) {
    
    
	return new Promise((resolve, reject) => {
    
    
		api.requestPermission({
    
    
			list: [name],
			code: 1
		}, (ret, err) => {
    
    
			// 请求权限成功
			if (ret.list[0].name === name && ret.list[0].granted) {
    
    
				resolve()
			} else {
    
    
			// 请求权限失败
				reject()
			}
		})
	})
}
// 在使用的位置 进行调用
// photos 相册
// microphone  麦克风
// camera  相机
// notification 通知
// storage  存储
// ……
checkPermision("camera");

举例

相机权限
存储权限

猜你喜欢

转载自blog.csdn.net/estrusKing/article/details/129712804