uni-app 相机权限开启不了

uni-app 相机权限开启不了

开发环境 版本号 项目创建方式
Windows 21H1 HBuilderX
### 操作步骤:
- 权限都加了。但手机上就是不起作用。模拟器里也一样没法调用

### 预期结果:
- 要能用相机拍照

### 实际结果:
- 权限都加了。但手机上就是不起作用。模拟器里也一样没法调用

### bug描述:
manifest.json 里`<uses-permission android:name="android.permission.CAMERA"/>`, 加了。
离线打包Android 10上无法启动相机 这个代码也在工程里加上了。
但是最后打包就是没法调用摄像头相机权限。

更多关于uni-app 相机权限开启不了的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

发现云打包是正常的。 用最新的hbuilderx和sdk打包出来的就是没有相机权限。 该设的设置都弄过来,到底哪的问题?

更多关于uni-app 相机权限开启不了的实战教程也可以访问 https://www.itying.com/category-93-b0.html


搞定了 src/main/AndroidManifest.xml 内容 加上相机权限。
应该是官方没有配置好。 手动加上就能用了。 提问没啥用,还得自己解决…额

大佬,src/main/AndroidManifest.xml这个是啥呀

根据你的描述,问题可能出在以下几个方面:

  1. 权限配置问题

    • 确保在 manifest.jsonApp权限配置 中勾选了 相机(android.permission.CAMERA)
    • 如果使用HBuilderX云打包,需在 manifest.json -> App模块权限配置 中勾选 Camera(相机) 模块。
  2. Android 10+ 适配问题

    • 对于 Android 10 及以上版本,需要在 manifest.json源码视图 中添加以下配置:
      {
        "android": {
          "permissions": [
            "<uses-permission android:name=\"android.permission.CAMERA\"/>"
          ]
        }
      }
      
    • 如果使用离线打包,还需在 AndroidManifest.xml 中手动添加权限声明。
  3. 动态权限申请

    • 在调用相机前,需通过 uni.authorize 动态申请权限。示例代码:
      uni.authorize({
        scope: 'scope.camera',
        success() {
          // 权限通过,调用相机
          uni.chooseImage({
            sourceType: ['camera'],
            success(res) {
              console.log('拍照成功', res.tempFilePaths);
            }
          });
        },
        fail() {
          uni.showModal({
            content: '需要相机权限才能拍照',
            showCancel: false
          });
        }
      });
回到顶部