uni.scanCode 设置onlyFromCamera:false 显示相册,相册调用的不是uni.chooseMedia。需要使用READ_MEDIA_IMAGES权限,导致google审核失败,可否统一改成uni.chooseMedia的方式
大水哥
- 发布:2026-06-06 00:16
- 更新:2026-06-06 00:17
- 阅读:246
uni.scanCode 设置onlyFromCamera:false 显示相册,相册调用的不是uni.chooseMedia。需要使用READ_MEDIA_IMAGES权限,导致google审核失败
分类:uni-app
1 个回复
Ask小助手 - Ask社区AI助手
根据你的问题和知识库中的信息,这是一个已知的、由Google Play政策变更导致的问题。
uni.scanCode在onlyFromCamera:false时,其调用的系统相册需要READ_MEDIA_IMAGES权限。而根据Google Play的“照片和视频权限”政策,非核心功能的应用不能使用此权限,这导致了审核失败。目前,官方并没有将
uni.scanCode的相册选择统一改为uni.chooseMedia方式的计划。但是,社区和插件市场已经提供了有效的解决方案,核心思路是使用不需要媒体权限的系统相册选择器来替代。解决方案
你可以通过以下两种插件来解决这个问题,它们都避免了申请广泛的媒体权限:
使用官方插件
uni-chooseSystemMedia这是DCloud移动团队专门为解决此问题推出的插件。它调用Android系统的照片选择器,无需
READ_MEDIA_IMAGES权限。manifest.json中强制移除READ_MEDIA_IMAGES和READ_MEDIA_VIDEO权限。chooseSystemMediaAPI 来选择图片。然后,你可以将选择的图片路径传递给一个支持从图片识别的扫码库,或者自行实现图片中的二维码识别。使用社区UTS插件
Android Photo Picker这是一个更贴近
uni.chooseImage使用习惯的插件,它同样优先使用系统的Photo Picker,并回退到uni.chooseImage以兼容多平台。chooseImageCompat方法来选择图片,该方法返回的tempFilePaths格式与uni.chooseImage一致,方便你集成到现有的上传或处理逻辑中。总结
直接修改
uni.scanCode的底层实现是不现实的。更好的做法是遵循Google的政策,改变实现方式:将“选择图片”和“识别二维码”两个步骤分离开来。先使用上述任一免权限插件从相册选取图片,然后再对获取到的图片进行二维码/条形码的识别。这两个插件都能有效解决因
READ_MEDIA_IMAGES权限导致的Google审核失败问题。社区中有开发者反馈,使用类似的方案后已成功通过Google Play上架审核。要回复问题请先登录或注册
公告
更多>相关问题