uni-app中uni.chooseImage读取不到小米机澎湃OS系统本地相册图片,相册相机权限已开启

uni-app中uni.chooseImage读取不到小米机澎湃OS系统本地相册图片,相册相机权限已开启

相册相机权限都开启了,在小米的 HyperOS 系统上读取不到图片。

就简单的直接调用uni.chooseImage()方法 也没任何效果

onCall() {  
    uni.chooseImage({  
        count: 6, // 默认9  
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  
        sourceType: ['album'], // 从相册选择  
        success: (res) => {  
            console.log('res', res)  
        },  
        fail: (err) => {  
            console.log('err', err)  
        }  
    })  
}

这个问题是出现在我司的 业务员app上

但是有个很奇怪的问题,在我公司的另一个app上居然好好的!!! 而且app的权限管理页面居然长的还不一样!

怎么解决。 头好疼。。

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

更多关于uni-app中uni.chooseImage读取不到小米机澎湃OS系统本地相册图片,相册相机权限已开启的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

uni.chooseImage() 方法难道还会被其他的文件影响到吗?

更多关于uni-app中uni.chooseImage读取不到小米机澎湃OS系统本地相册图片,相册相机权限已开启的实战教程也可以访问 https://www.itying.com/category-93-b0.html


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

亲 你是直接加了权限吗

在uni-app中使用uni.chooseImage时,如果无法读取小米机澎湃OS系统本地相册图片,即使相机和相册权限已经开启,可能涉及到以下几个问题:

1. 权限问题

确保在manifest.json中已经正确配置了权限:

{
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    },
    "scope.writePhotosAlbum": {
      "desc": "你的相册权限将用于保存图片"
    },
    "scope.camera": {
      "desc": "你的相机权限将用于拍照"
    }
  }
}

2. 动态权限申请

即使你在manifest.json中配置了权限,某些系统(如小米的澎湃OS)可能仍需要动态申请权限。你可以在调用uni.chooseImage之前,先检查并申请权限:

uni.authorize({
  scope: 'scope.writePhotosAlbum',
  success() {
    uni.chooseImage({
      count: 1,
      success(res) {
        console.log(res.tempFilePaths);
      },
      fail(err) {
        console.log('选择图片失败', err);
      }
    });
  },
  fail(err) {
    console.log('授权失败', err);
    uni.showModal({
      title: '提示',
      content: '请开启相册权限',
      success(res) {
        if (res.confirm) {
          uni.openSetting();
        }
      }
    });
  }
});

3. 系统兼容性问题

某些系统(如小米的澎湃OS)可能存在兼容性问题。你可以尝试以下方法:

  • 更新uni-app版本:确保你使用的是最新版本的uni-app,因为新版本可能会修复一些兼容性问题。

  • 使用原生插件:如果uni-app的标准API无法满足需求,可以考虑使用原生插件来实现图片选择功能。

4. 检查系统设置

确保在小米手机的设置中,已经允许该应用访问相册和相机权限。有时即使应用内部已经申请了权限,系统设置中仍然需要手动开启。

5. 调试和日志

通过console.log或者在开发工具中查看详细的错误信息,可以帮助你更好地定位问题。

6. 使用uni.getSystemInfo检查系统信息

你可以通过uni.getSystemInfo获取当前设备的系统信息,看看是否有特殊的系统版本或设备型号导致的兼容性问题。

uni.getSystemInfo({
  success(res) {
    console.log(res);
  }
});
回到顶部