vivo手机选择相册里面无图片 uni-app
vivo手机选择相册里面无图片 uni-app
操作步骤:
- 客服审核
预期结果:
- 能获取到图片
实际结果:
- 未获取
bug描述:
const uploadCosUploadImg = ({ count = 1, extension = ['png', 'jpg'], formData = {}, callback = (data: any) => {} }) => {
uni.chooseImage({
count,
extension,
success: (res: any) => {
console.log(res, 'ddddddd');
uni.showLoading({
title: '图片上传中...'
});
res.tempFilePaths?.forEach((item: any) => {
uni.uploadFile({
url: `xxx`,
filePath: item,
name: 'file',
header: {
token: loginStore.user_token
},
formData,
success: (fileRes) => {
uni.hideLoading();
const { code, data } = JSON.parse(fileRes.data);
if (code === 200) {
uni.showToast({
icon: 'none',
title: '图片上传成功'
});
callback(data);
} else {
uni.showToast({
icon: 'none',
title: '图片上传失败'
});
}
},
fail: (err) => {
uni.hideLoading();
uni.showToast({
icon: 'none',
title: '图片上传失败'
});
}
});
});
}
});
};
提审被拒,说授权后,相册中无图片,华为,应用宝…等等都过审核了
用工具查看apk,是包含了
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.vivo.notification.permission.BADGE_ICON"/>
<uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS"/>
<permission android:name="com.ecloudunion.qikang.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature"/>
<uses-permission android:name="com.ecloudunion.qikang.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
图片

更多关于vivo手机选择相册里面无图片 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
明确一下,是华为应用宝都审核通过,功能正常,只是 vivo 被拒了。实际测试 vivo 真机了吗是否正常?vivo 真机标准基座是否正常、打包出的产物自己测试是否正常
更多关于vivo手机选择相册里面无图片 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是的,只是vivo因为相册里面没有图片被拒了,我这边没有真机测试,但是社区里又很多vivo真机出现上架因为这个原因被拒了,只是他们没有找uni官方帮助
真机调试日志已上传
联系vivo的人工客服要一下录屏视频和能复现问题的手机详细信息。
IQOO-12
你好, 请问这个有结果了吗
回复 CD_小C: 我这边验证了没问题,你发一下manifest.json和安装包,我这边对比一下配置文件。
回复 DCloud_Android_zl: 你QQ多少,我加你
回复 DCloud_Android_zl: 传到附件里了,帮忙看看!急
回复 CD_小C: 我在https://im.dcloud.net.cn/index.html#/,私聊你了,看一下
这是Android 13(API 33)及以上版本的权限适配问题。从manifest配置看,您已经声明了READ_MEDIA_IMAGES权限,但还需要在运行时动态请求。
问题分析:
- Android 13引入了新的媒体权限分级机制
READ_EXTERNAL_STORAGE在Android 13+仅能访问部分媒体文件- 需要单独请求
READ_MEDIA_IMAGES权限来访问完整相册
解决方案:
在调用uni.chooseImage前添加权限检查:
// 检查并请求权限
const requestMediaPermission = async () => {
// #ifdef APP-PLUS
if (plus.os.version >= 13) {
const permissions = ['android.permission.READ_MEDIA_IMAGES'];
const status = await new Promise((resolve) => {
plus.android.requestPermissions(permissions, resolve);
});
return status.deniedAlways.length === 0;
} else {
const status = await new Promise((resolve) => {
plus.android.requestPermissions(['android.permission.READ_EXTERNAL_STORAGE'], resolve);
});
return status.deniedAlways.length === 0;
}
// #endif
return true;
};
// 修改原函数
const uploadCosUploadImg = async ({ count = 1, extension = ['png', 'jpg'], formData = {}, callback = (data: any) => {} }) => {
const hasPermission = await requestMediaPermission();
if (!hasPermission) {
uni.showToast({
icon: 'none',
title: '需要相册权限才能选择图片'
});
return;
}
uni.chooseImage({
// 原有代码保持不变
});
};
同时确保manifest.json中正确配置权限:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>"
]
}
}
}
}

