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这个是啥呀
根据你的描述,问题可能出在以下几个方面:
-
权限配置问题:
- 确保在
manifest.json的App权限配置中勾选了相机(android.permission.CAMERA)。 - 如果使用HBuilderX云打包,需在
manifest.json->App模块权限配置中勾选Camera(相机)模块。
- 确保在
-
Android 10+ 适配问题:
- 对于 Android 10 及以上版本,需要在
manifest.json的源码视图中添加以下配置:{ "android": { "permissions": [ "<uses-permission android:name=\"android.permission.CAMERA\"/>" ] } } - 如果使用离线打包,还需在
AndroidManifest.xml中手动添加权限声明。
- 对于 Android 10 及以上版本,需要在
-
动态权限申请:
- 在调用相机前,需通过
uni.authorize动态申请权限。示例代码:uni.authorize({ scope: 'scope.camera', success() { // 权限通过,调用相机 uni.chooseImage({ sourceType: ['camera'], success(res) { console.log('拍照成功', res.tempFilePaths); } }); }, fail() { uni.showModal({ content: '需要相机权限才能拍照', showCancel: false }); } });
- 在调用相机前,需通过

