欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
关于 uni.chooseImage 在 Android 平台默认使用 WRITE_EXTERNAL_STORAGE 权限的问题,以及如何向应用市场处理说明,可以参考以下基于知识库内容的解答:
问题原因说明
uni.chooseImage 在 App(Android)端默认需要 WRITE_EXTERNAL_STORAGE 权限,主要是因为框架底层实现需要处理图片的临时存储、缓存以及兼容低版本 Android 系统(Android 13 以下)。在 uni-app Android 默认权限说明 中提到,云端打包后会自动添加 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限,用于"访问设备上的照片、媒体内容和文件"。
然而,根据 Google Play 照片和视频权限政策,应用应使用系统选择器(Photo Picker)来访问媒体文件,这样只需要 READ_MEDIA_IMAGES 权限(Android 13+)或无需存储权限。
解决方案
1. 使用系统选择器插件替代(推荐)
根据知识库中的兼容性说明,由于受 Google Play 照片和视频权限政策影响,建议使用插件 uni-chooseSystemMedia 替代 uni.chooseImage。该插件使用 Android 系统原生选择器,无需申请 WRITE_EXTERNAL_STORAGE 权限,符合应用市场审核要求。
2. 权限适配说明(如需保留原有功能)
如果必须保留原有实现,需要向应用市场说明:
- 兼容性需求:
WRITE_EXTERNAL_STORAGE 是为了兼容 Android 13 以下版本的设备
- 权限升级适配:Android 13(API 33)及以上应使用
READ_MEDIA_IMAGES,但低版本仍需 READ_EXTERNAL_STORAGE
在 插件市场权限说明 中也有相关提示:"存储权限在原来的 WRITE_EXTERNAL_STORAGE 和 READ_EXTERNAL_STORAGE 两个权限上,记得同时加上相对应的最新权限,做兼容处理;访问图片权限:READ_MEDIA_IMAGES"。
3. 向应用市场提交说明
向应用市场解释时,可以说明:
- 技术必要性:说明该权限用于图片临时缓存和旧版本 Android 兼容性处理
- 隐私合规:表明应用只在必要时申请,且用户选择图片后不会滥用该权限访问其他无关文件
- 替代方案:说明已计划或已使用系统选择器方案(uni-chooseSystemMedia 插件)来符合最新政策要求
最佳实践建议
对于新上架或更新应用,强烈推荐直接使用 uni-chooseSystemMedia 插件 完全替代 uni.chooseImage 和 uni.chooseVideo,这样可以:
- 避免申请
WRITE_EXTERNAL_STORAGE 敏感权限
- 符合 Google Play 和应用市场的最新审核政策
- 使用系统级选择器,用户体验更好且隐私保护更规范
如果暂时无法替换,应在隐私政策中明确说明申请存储权限的目的,并提供权限使用范围的详细解释。
1 个回复
Ask小助手 - Ask社区AI助手
关于
uni.chooseImage在 Android 平台默认使用WRITE_EXTERNAL_STORAGE权限的问题,以及如何向应用市场处理说明,可以参考以下基于知识库内容的解答:问题原因说明
uni.chooseImage在 App(Android)端默认需要WRITE_EXTERNAL_STORAGE权限,主要是因为框架底层实现需要处理图片的临时存储、缓存以及兼容低版本 Android 系统(Android 13 以下)。在 uni-app Android 默认权限说明 中提到,云端打包后会自动添加READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限,用于"访问设备上的照片、媒体内容和文件"。然而,根据 Google Play 照片和视频权限政策,应用应使用系统选择器(Photo Picker)来访问媒体文件,这样只需要
READ_MEDIA_IMAGES权限(Android 13+)或无需存储权限。解决方案
1. 使用系统选择器插件替代(推荐)
根据知识库中的兼容性说明,由于受 Google Play 照片和视频权限政策影响,建议使用插件 uni-chooseSystemMedia 替代
uni.chooseImage。该插件使用 Android 系统原生选择器,无需申请WRITE_EXTERNAL_STORAGE权限,符合应用市场审核要求。2. 权限适配说明(如需保留原有功能)
如果必须保留原有实现,需要向应用市场说明:
WRITE_EXTERNAL_STORAGE是为了兼容 Android 13 以下版本的设备READ_MEDIA_IMAGES,但低版本仍需READ_EXTERNAL_STORAGE在 插件市场权限说明 中也有相关提示:"存储权限在原来的
WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE两个权限上,记得同时加上相对应的最新权限,做兼容处理;访问图片权限:READ_MEDIA_IMAGES"。3. 向应用市场提交说明
向应用市场解释时,可以说明:
最佳实践建议
对于新上架或更新应用,强烈推荐直接使用 uni-chooseSystemMedia 插件 完全替代
uni.chooseImage和uni.chooseVideo,这样可以:WRITE_EXTERNAL_STORAGE敏感权限如果暂时无法替换,应在隐私政策中明确说明申请存储权限的目的,并提供权限使用范围的详细解释。
要回复问题请先登录或注册
公告
更多>相关问题