uniapp中uni.chooseimage在安卓上无法选择相机怎么解决?

在uniapp中使用uni.chooseImage时,安卓设备无法选择相机拍照,只能从相册选择图片。尝试了设置sourceType为[‘camera’]或[‘album’, ‘camera’]都没用,请问该如何解决?

2 回复

在uniapp中,安卓无法选择相机的问题,通常有以下几种解决方案:

  1. 检查manifest.json配置
    确保在manifest.jsonapp-plus节点下正确配置相机权限:

    "permissions": {
      "CAMERA": {}
    }
    
  2. 确认sourceType参数
    调用uni.chooseImage时,设置sourceType: ['camera','album'],确保包含相机选项。

  3. 检查Android系统权限
    部分安卓机型需要手动开启相机权限。可在App启动时调用uni.authorize申请权限:

    uni.authorize({ scope: 'scope.camera' })
    
  4. 真机调试
    部分功能在模拟器中无法使用,建议用真机测试。

  5. 更新HBuilderX
    确保使用最新版本的HBuilderX,避免旧版本兼容性问题。

如果以上方法无效,可尝试改用uni.chooseMediaAPI(HBuilderX 3.2.0+支持),它提供了更现代的媒体选择方案。


在UniApp中,uni.chooseImage 在安卓设备上无法选择相机的问题通常是由于权限配置或API调用方式导致的。以下是常见解决方案:

  1. 检查Android权限配置
    manifest.json 中确保已添加相机和存储权限:

    "permissions": {
      "android": {
        "CAMERA": {},
        "WRITE_EXTERNAL_STORAGE": {}
      }
    }
    
  2. 检查API参数
    调用 uni.chooseImage 时,显式设置 sourceType 包含相机:

    uni.chooseImage({
      count: 1,
      sourceType: ['camera', 'album'], // 确保包含'camera'
      success: (res) => {
        console.log(res.tempFilePaths);
      }
    });
    
  3. 真机测试
    部分功能在模拟器中可能异常,需用真机测试。

  4. 检查HBuilderX版本
    更新到最新版本以确保兼容性。

若问题持续,请检查设备系统权限设置,确保应用已获得相机访问权限。通常以上步骤可解决大部分情况。

回到顶部