uni-app uni.chooseImage 无法从相册选择照片

uni-app uni.chooseImage 无法从相册选择照片

操作步骤:

··········

预期结果:

能从相册选择图片

实际结果:

不能选择

bug描述:

uni.chooseImage 选择相册图片 打开相册所有图片不显示 并且会退出应用 应用已经授权过了 还是不行

信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 3.1.22
手机系统 Android
手机系统版本号 Android 11
手机厂商 华为
手机机型 oppo A9 2020
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX
App下载地址或H5网址 http://91sd.top/download

更多关于uni-app uni.chooseImage 无法从相册选择照片的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

用示例代码hello uni-app能出现你的问题吗?

更多关于uni-app uni.chooseImage 无法从相册选择照片的实战教程也可以访问 https://www.itying.com/category-93-b0.html


不是所有 机型有问题 就是 oppo 安卓11 会有

uni.chooseImage 还是有缺陷呀 相册打开 无法显示照片

回复 q***@163.com: 更新HX到最新版,看下是否还有此问题

麻烦官方的人 解答一下 谢谢

红米安卓13系统也出现了这个问题,进入相册后所有图片不显示授权后也不行

解决了么?

根据你提供的信息,uni.chooseImage 在 Android 11 设备上打开相册时出现图片不显示并导致应用退出的问题,通常与系统权限策略或应用配置有关。以下是可能的原因和解决方案:

  1. Android 11 权限变更
    Android 11 引入了分区存储(Scoped Storage),应用访问媒体文件需使用 READ_EXTERNAL_STORAGE 权限,但仅限访问照片、视频、音频等媒体类型。如果应用未适配或权限请求异常,可能导致相册无法加载。

    • 检查配置:在 manifest.json 中确认已声明权限:
      "permissions": {
          "android.permission.READ_EXTERNAL_STORAGE"
      }
      
    • 动态权限请求:确保在调用 uni.chooseImage 前,已通过 uni.authorizeuni.request 动态申请存储权限(Android 6.0+ 需动态申请)。
  2. 应用退出问题
    相册打开后应用退出,可能是系统权限弹窗被拦截或内存不足导致。建议在 uni.chooseImage 调用前后添加日志,检查是否触发系统错误。可尝试在 onLoad 生命周期提前申请权限,避免与用户操作冲突。

  3. 云端打包兼容性
    HBuilderX 3.1.22 的云端 SDK 可能对 Android 11 适配存在滞后。尝试以下操作:

    • 升级 HBuilderX 到最新版本(如 3.6+),重新云端打包。
    • 检查是否使用了原生插件,部分插件可能与 Android 11 不兼容。
  4. 临时测试方案

    • 使用真机调试模式,通过 HBuilderX 的“运行到手机”直接测试,排除打包问题。
    • 更换其他 Android 11 设备测试,确认是否为机型特定问题(如 OPPO 系统定制限制)。
  5. 代码示例调整
    确保调用 uni.chooseImage 时传入正确参数,例如指定 sourceType: ['album'],并捕获错误:

    uni.chooseImage({
        sourceType: ['album'],
        success: (res) => { /* 处理成功 */ },
        fail: (err) => { console.error('选择失败:', err); }
    });
回到顶部