uni-app uni-registerRequestPermissionTips插件,使用chooseVideo调用相机拍摄无反应
uni-app uni-registerRequestPermissionTips插件,使用chooseVideo调用相机拍摄无反应
错误信息
手机系统鸿蒙4.0.0,其他录音、相册、定位都可以,就调起相机不行,没有任何反应,控制台提示
{
"errMsg": "chooseVideo:fail User cancelled",
"errCode": 12,
"code": 12
}
以解决,在调用chooseVideo前先手动拿一下权限
if (uni.getSystemInfoSync().deviceBrand.toLowerCase() == “huawei”) {
plus.android.requestPermissions([“android.permission.CAMERA”], (event) => {}, () => {})
}
更多关于uni-app uni-registerRequestPermissionTips插件,使用chooseVideo调用相机拍摄无反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni-app
开发时,如果你使用 uni.chooseVideo
调用相机拍摄视频时没有反应,可能是权限问题或其他配置问题导致的。uni-registerRequestPermissionTips
插件可以帮助你处理权限提示,但你需要确保正确配置和使用它。
1. 检查权限配置
首先,确保你在 manifest.json
中正确配置了相机和麦克风权限:
{
"app-plus": {
"permissions": {
"camera": {
"description": "需要访问相机进行拍摄"
},
"microphone": {
"description": "需要访问麦克风进行录音"
}
}
}
}
2. 使用 uni-registerRequestPermissionTips
插件
uni-registerRequestPermissionTips
插件可以帮助你在用户拒绝权限后,提示用户去设置中开启权限。你可以在 App.vue
或 main.js
中注册该插件:
import uniRegisterRequestPermissionTips from '@/js_sdk/uni-register-request-permission-tips/uni-register-request-permission-tips.js';
uniRegisterRequestPermissionTips({
title: '权限提示',
content: '需要开启相机和麦克风权限才能使用拍摄功能',
confirmText: '去设置',
cancelText: '取消'
});
3. 调用 uni.chooseVideo
在调用 uni.chooseVideo
之前,确保你已经处理了权限问题:
uni.chooseVideo({
sourceType: ['camera'],
maxDuration: 60,
camera: 'back',
success: (res) => {
console.log('拍摄成功', res.tempFilePath);
},
fail: (err) => {
console.error('拍摄失败', err);
// 处理权限被拒绝的情况
if (err.errMsg.includes('permission')) {
uni.showModal({
title: '权限提示',
content: '需要开启相机和麦克风权限才能使用拍摄功能',
confirmText: '去设置',
cancelText: '取消',
success: (modalRes) => {
if (modalRes.confirm) {
uni.openSetting({
success: (settingRes) => {
console.log('用户已打开设置');
}
});
}
}
});
}
}
});