uni-app uni.chooseImage读取不到本地相册图片 点击允许访问本地存储权限实际上手机的权限列表没有打开

uni-app uni.chooseImage读取不到本地相册图片 点击允许访问本地存储权限实际上手机的权限列表没有打开

开发环境 版本号 项目创建方式
Windows 不知道 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:4.76

手机系统:Android

手机系统版本号:Android 15

手机厂商:魅族

手机机型:魅族 20

页面类型:vue

vue版本:vue3

打包方式:云端

项目创建方式:HBuilderX

示例代码:

"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-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",  
    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",  
    "<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.READ_EXTERNAL_STORAGE\" android:maxSdkVersion=\"32\" />",  
    "<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\" android:minSdkVersion=\"33\" />"  
],
`

更多关于uni-app uni.chooseImage读取不到本地相册图片 点击允许访问本地存储权限实际上手机的权限列表没有打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

我用了https://ext.dcloud.net.cn/plugin?id=15897 这个插件才会出现的这个问题

更多关于uni-app uni.chooseImage读取不到本地相册图片 点击允许访问本地存储权限实际上手机的权限列表没有打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于Android 13及以上版本的存储权限策略变更导致的。在Android 13+中,READ_EXTERNAL_STORAGE权限被细化为更具体的媒体类型权限。

从你的配置可以看到:

  • READ_EXTERNAL_STORAGE设置了maxSdkVersion=“32”,在Android 13+设备上不会生效
  • READ_MEDIA_IMAGES设置了minSdkVersion=“33”,理论上应该生效

解决方案:

  1. 检查权限声明是否正确生效,建议简化配置:
"permissions" : [
    "<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
    "<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>"
]
  1. 在调用uni.chooseImage前,先动态申请权限:
// 检查并申请权限
uni.authorize({
    scope: 'scope.album',
    success: () => {
        uni.chooseImage({
            count: 1,
            success: (res) => {
                console.log(res.tempFilePaths)
            }
        })
    },
    fail: (err) => {
        console.log('权限申请失败', err)
    }
})
回到顶部