uni-app 安卓云端打包后,在小米澎湃OS系统上无法获取到相册权限

uni-app 安卓云端打包后,在小米澎湃OS系统上无法获取到相册权限

开发环境 版本号 项目创建方式
HBuilderX 3.99

示例代码:

/**
 * 从本地相册选择图片或使用相机拍照
 * [@param](/user/param) count 最多可以选择的图片张数,默认1
 * [@param](/user/param) sourceType album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
 * [@param](/user/param) sizeType original 原图,compressed 压缩图,默认二者都有
 */
export function chooseImage(count = 1, sourceType = ['album', 'camera'], sizeType = ['original', 'compressed']) {
    return new Promise((resolve) => {
        uni.chooseImage({
            count,
            sizeType,
            sourceType,
            success: (res) => resolve(res),
            fail: (err) => {
                console.log('fail异常', err)
                // #ifdef APP-PLUS
                if (uni.$u.os() == 'ios') {
                    if (err.errMsg == 'chooseImage:fail No filming permission' && err.errCode == 2) {
                        // 没有访问相机权限
                        checkPermissions('camera')
                    }
                } else {
                    if (err.errMsg == 'chooseImage:fail No Permission') {
                        if (err.errCode == 11) {
                            // 没有访问相机权限
                            checkPermissions('camera')
                        } else {
                            // 没有访问相册权限
                            checkPermissions('photo')
                        }
                    }
                }
                // #endif
            }
        })
    })
}
2 回复

解决了是安卓系统版本大于13后都会出现的问题。可参考该文章https://juejin.cn/post/7159999910748618766


uni-app 进行安卓云端打包后,在小米澎湃OS系统上无法获取相册权限,可能是由于以下几个原因导致的。以下是一些排查和解决方案:


1. 检查权限声明

确保在 manifest.json 文件中正确声明了相册权限。例如:

{
  "permission": {
    "android.permission.READ_EXTERNAL_STORAGE": {},
    "android.permission.WRITE_EXTERNAL_STORAGE": {}
  }
}

如果使用的是 uni-appuni.chooseImageuni.chooseVideo 等 API,这些权限是必须的。


2. 动态权限申请

在 Android 6.0(API 23)及以上版本中,部分权限需要动态申请。确保在代码中动态申请相册权限。例如:

uni.authorize({
  scope: 'scope.writePhotosAlbum',
  success() {
    console.log('相册权限已授权');
  },
  fail() {
    console.log('相册权限未授权');
  }
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!