uni-app choosevideo、chooseImage在camera模式下提示没有权限

uni-app choosevideo、chooseImage在camera模式下提示没有权限

开发环境 版本号 项目创建方式
Mac 10.13.6 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Mac

PC开发环境操作系统版本号:10.13.6

HBuilderX类型:正式

HBuilderX版本号:3.1.18

手机系统:Android

手机系统版本号:Android 11

手机厂商:摩托罗拉

手机机型:edge s

页面类型:vue

打包方式:云端

示例代码:

<view class="video" @click="facial">  
    <image src="../../static/icon/unload.png" mode="aspectFit"></image>  
</view>  

facial(){  
    uni.chooseVideo({  
        sourceType: ['camera'],  
        maxDuration: 15,  
        camera: 'front',  
        success: file => {  
            const path = file.tempFilePath;  
            uni.showLoading({  
                title: '上传中..'  
            })  
            uni.uploadFile({  
                url: 'https://www.rtutu.cn/xq/xqBack/uploadRadio',  
                filePath: path,  
                name: 'file',  
                header: {  
                    'Content-Type': 'multipart/form-data',  
                },  
                success: function (res) {  
                    uni.showToast({  
                        title: '上传成功'  
                    });  
                    uni.hideLoading();  

                    const data = res.data ? JSON.parse(res.data) : {};  
                    if (data.code == 1) {  
                        console.log(data.data)  
                    } else {}  
                },  
                fail: function (res) {  
                    uni.showToast({  
                        title: '上传图片失败'  
                    });  
                    uni.hideLoading();  
                }  
            });  
        },  
        fail: res => {  
            console.log(res)  
        }  
    })  
},

操作步骤:

  • 点击facial方法提示没有权限

预期结果:

  • 调用相机模式

实际结果:

{
    "errMsg": "chooseVideo:fail No Permission",
    "errCode": 11,
    "code": 11
}

bug描述:

使用chooseVideo API 提示没有权限, 代码贴的是选取视频的api


更多关于uni-app choosevideo、chooseImage在camera模式下提示没有权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app choosevideo、chooseImage在camera模式下提示没有权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中,chooseVideochooseImage在camera模式下提示"没有权限"通常是由于Android系统权限配置问题导致的。以下是解决方案:

  1. 检查Android权限配置

    • manifest.json的App模块权限配置中,确保勾选了相机和存储权限
    • 代码配置示例:
    {
      "permissions": {
        "CAMERA": {
          "request": "once"
        },
        "WRITE_EXTERNAL_STORAGE": {
          "request": "once"
        }
      }
    }
    
  2. Android 6.0+动态权限处理

    • 在调用chooseVideo前先申请权限:
    async facial() {
      // 检查权限
      const status = await uni.authorize({
        scope: 'scope.camera'
      });
      
      if (status.authSetting['scope.camera']) {
        uni.chooseVideo({
          sourceType: ['camera'],
          // ...其他参数
        });
      } else {
        uni.showToast({
          title: '需要相机权限',
          icon: 'none'
        });
      }
    }
回到顶部