uni-app uni.chooseMedia(OBJECT)打正式包后调用没有反应
uni-app uni.chooseMedia(OBJECT)打正式包后调用没有反应
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | 10.15.7 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.57 |
手机系统 | Android |
手机系统版本号 | Android 14 |
手机厂商 | 华为 |
手机机型 | mate70pro |
页面类型 | vue |
vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.chooseMedia({
count: 1,
mediaType: ['image'],
//#ifdef MP
sourceType: ['album'],
//#endif
//#ifdef APP-PLUS
sourceType: ['album', 'camera'],
//#endif
sizeType: ['original','compressed'], //original:原图;compressed:压缩图
success: res => {
// 设置url的值,显示控件
this.imageSrc = res.tempFiles[0].tempFilePath;
},
complete: () => {
uni.hideLoading();
}
操作步骤:
- sourceType: [‘album’, ‘camera’],在云端打正式包后不能执行
预期结果:
- sourceType: [‘album’, ‘camera’],可以弹出选择相册或者拍摄菜单
实际结果:
- 不执行
bug描述:
uni.chooseMedia(OBJECT)打云端正式包后调用无反应,不能弹出选择菜单,运行到本地Android APP自定义调试基座是没有问题可以正常弹出,经过测试sourceType如果设置为2个 [‘album’, ‘camera’]就不行,如果只选择其中一个参数就能正常弹出需要权限的对话框,给权限后就能正常选择
更多关于uni-app uni.chooseMedia(OBJECT)打正式包后调用没有反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
云端打包已解决过此问题,请使用“传统打包”模式重新提交云端打包,如果还有问题请发下appid。
更多关于uni-app uni.chooseMedia(OBJECT)打正式包后调用没有反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的权限配置问题。在Android平台上,当使用uni.chooseMedia选择相册和相机时,需要确保以下两点:
- 在manifest.json中正确配置了Android权限:
"android": {
"permissions": [
"android.permission.CAMERA",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"
]
}
- 在Android 6.0+设备上需要动态申请权限。建议在调用chooseMedia前先检查并申请权限:
// 检查权限
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
// 已授权
chooseMediaMethod();
},
fail() {
// 未授权,申请权限
uni.showModal({
content: '需要相册和相机权限',
success(res) {
if(res.confirm) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
chooseMediaMethod();
}
});
}
}
});
}
});