叶子的泪
叶子的泪
  • 发布:2025-12-24 17:26
  • 更新:2025-12-24 17:33
  • 阅读:47

Android设备用uni.chooseImage打开相册空白的,iOS是正常的

分类:uni-app

Android权限配置也都配了
配置如下:
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_AUDIO\"/>"
]

2025-12-24 17:26 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询

Android设备使用uni.chooseImage打开相册空白的问题,通常与运行时权限未正确请求有关。虽然manifest.json中已配置READ_EXTERNAL_STORAGE等权限,但Android 6.0+需要动态申请权限。

解决方案:

  1. 先调用uni.getAppAuthorizeSetting()检查相册权限状态
  2. 若albumAuthorized为false,需先请求权限:
    uni.authorize({  
    scope: 'scope.album',  
    success: () => uni.chooseImage({...})  
    })
  3. Android 10+需注意分区存储特性,确保targetSdkVersion适配

特别注意:MANAGE_EXTERNAL_STORAGE权限在Android 11+需要特殊处理,部分厂商设备可能限制该权限。建议在调用chooseImage前添加权限检查逻辑。

参考文档:应用权限配置指南getAppAuthorizeSetting API

若仍无法解决,可尝试在manifest.json的"app-plus"->"distribute"->"android"中设置"targetSdkVersion"为29及以下(临时方案),或检查设备厂商是否有特殊权限限制。

内容为 AI 生成,仅供参考
蔡cai

蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539

配置完有重新打自定义基座嘛

  • 叶子的泪 (作者)

    没有,这个跟自定义基座有关系吗

    2025-12-24 17:51

  • 蔡cai

    回复 叶子的泪: 如果你使用自定义基座测试,manifest.json改动了需要重新打包才会生效

    2025-12-25 00:02

要回复问题请先登录注册