uni-app 云打包安卓APP时 uni.chooseImage 默认永久禁止相机权限 跳转到应用设置页面无相机权限
uni-app 云打包安卓APP时 uni.chooseImage 默认永久禁止相机权限 跳转到应用设置页面无相机权限
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:10
HBuilderX类型:正式
HBuilderX版本号:3.2.16
手机系统:Android
手机系统版本号:Android 11
手机厂商:华为
手机机型:mate20
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
示例代码:
uni.chooseImage({ count : this.tempSrcList ? 9 - this.tempSrcList.length : 9, sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有 success: (res) => { this.tempSrcList = this.tempSrcList.concat(res.tempFilePaths) if(this.tempSrcList.length >= 9){ this.isShowAdd = false } } })
操作步骤:
- 点击选择图片按钮
预期结果:
- 嗲用相机,正常弹出获取相机权限
实际结果:
- 点击相机无反应
bug描述:
- uni.chooseImage云打包安卓APP默认永久禁止相机权限,跳转到应用设置页面,没有相机权限
更多关于uni-app 云打包安卓APP时 uni.chooseImage 默认永久禁止相机权限 跳转到应用设置页面无相机权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
你在mainifest里面没有配置相机权限导致的。
参考一下 hello uni里面的权限配置。
这个问题是由于Android权限管理机制导致的,特别是华为等厂商对权限管理比较严格。以下是解决方案:
- 首先确保manifest.json中已声明相机权限:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\"/>"
]
}
}
}
}
- 在使用chooseImage前,先动态请求权限:
uni.authorize({
scope: 'scope.camera',
success() {
// 已授权,调用chooseImage
uni.chooseImage({...});
},
fail() {
// 未授权,引导用户去设置
uni.showModal({
content: '需要相机权限才能拍照',
confirmText: '去设置',
success(res) {
if(res.confirm) {
uni.openSetting();
}
}
});
}
});