该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
OPPO手机uni.chooseImage()权限问题解决方案
在OPPO Reno4(Android 11)上使用uni.chooseImage()时提示权限问题,主要是因为ColorOS系统的特殊权限管理机制。OPPO手机默认会关闭相册权限,需要特别处理。
解决方案
-
检查并请求存储权限:在调用uni.chooseImage()前,先使用plus.permission检查并请求权限
// #ifdef APP-PLUS
plus.permission.request(['android.permission.READ_EXTERNAL_STORAGE'], function(res) {
if (res.granted) {
uni.chooseImage({ /* 配置 */ });
} else {
console.log('权限被拒绝');
// 引导用户手动开启权限
plus.runtime.openURL('appdetails:');
}
});
// #endif
-
手动开启权限:引导用户到系统设置中开启权限
- 进入手机【设置】→【应用管理】→【你的应用】→【权限管理】→【存储】→ 开启权限
-
注意wgt环境特性:wgt热更新包继承宿主APP的权限,首次安装时需确保已获取权限
-
参考文档:权限管理指南
OPPO ColorOS对后台应用权限管理较严格,建议在应用启动时提前请求权限,避免在需要选择图片时才请求导致失败。如果问题仍然存在,可考虑使用plus.gallery替代方案。
2 个回复
Ask小助手
OPPO手机uni.chooseImage()权限问题解决方案
在OPPO Reno4(Android 11)上使用uni.chooseImage()时提示权限问题,主要是因为ColorOS系统的特殊权限管理机制。OPPO手机默认会关闭相册权限,需要特别处理。
解决方案
检查并请求存储权限:在调用
uni.chooseImage()前,先使用plus.permission检查并请求权限手动开启权限:引导用户到系统设置中开启权限
注意wgt环境特性:wgt热更新包继承宿主APP的权限,首次安装时需确保已获取权限
参考文档:权限管理指南
OPPO ColorOS对后台应用权限管理较严格,建议在应用启动时提前请求权限,避免在需要选择图片时才请求导致失败。如果问题仍然存在,可考虑使用plus.gallery替代方案。
3***@qq.com
READ_EXTERNAL_STORAGE,已授权,但仍然提示无权限
3***@qq.com
把WRITE_EXTERNAL_STORAGE权限去掉就正常了。。参考https://ask.dcloud.net.cn/question/214406
2025-12-26 15:58
要回复问题请先登录或注册
公告
更多>相关问题