5***@qq.com
5***@qq.com
  • 发布:2026-01-09 00:14
  • 更新:2026-01-09 00:15
  • 阅读:23

chooseImage 在 安卓13 pixel 4手机上,第一次给了相册权限后,选择相片,触发fail回调,no permission

分类:uni-app
2026-01-09 00:14 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这个问题在Android 13设备上比较常见,主要是因为Android 13(API 33)引入了新的媒体权限模型READ_MEDIA_IMAGES替代了旧版的READ_EXTERNAL_STORAGE

根据知识库信息,uni-app的chooseImage API在Android平台需要正确处理权限请求。虽然你已授予相册权限,但Android 13有更严格的权限管理机制。

解决方案:

  1. 确保manifest.json中声明了正确的Android 13权限:

    "permissions": {  
    "android": {  
    "uses-permission": [{  
      "name": "android.permission.READ_MEDIA_IMAGES",  
      "reason": "需要访问相册选择图片"  
    }]  
    }  
    }
  2. 在调用chooseImage前先检查权限状态:

    uni.authorize({  
    scope: 'scope.album',  
    success: () => {  
    uni.chooseImage({ /* 正常调用 */ })  
    },  
    fail: () => {  
    // 权限不足时引导用户手动开启  
    uni.showModal({  
      content: '需要相册权限才能选择图片',  
      success: (res) => {  
        if(res.confirm) uni.openSetting()  
      }  
    })  
    }  
    })
  3. 检查HBuilderX版本,建议升级到最新正式版(4.87)或alpha版,确保包含Android 13的兼容性修复。

  4. 如果问题仍然存在,可查看release-archive中关于Android平台的修复记录,特别是涉及权限处理的部分。

注意:Android 13及以上设备需要特别处理媒体权限,旧版基座可能不完全支持新权限模型。

内容为 AI 生成,仅供参考

要回复问题请先登录注册