uni-app chooseImage闪退

uni-app chooseImage闪退

信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 10
HBuilderX类型 正式
HBuilderX版本号 3.1.22
手机系统 Android
手机系统版本号 Android 11
手机厂商 realme
手机机型 v11
页面类型 nvue
打包方式 云端
项目创建方式 HBuilderX

示例代码:

uni.chooseImage({
count: this.maxLength - this.imageFiles.length,
sizeType: ['compressed'],
sourceType: ['camera'],
success: (res) => {
console.log('chooseImage->res', res.tempFilePaths)
res.tempFilePaths.forEach(el => {
this.imageFiles.push(el)
})
}
})

操作步骤:

调接口

预期结果:

正常

实际结果:

拍照后闪退

bug描述:

真我手机调用接口返回回来,app直接闪退。

附件:

e80b7dc514ef17736956ab78f2835c1f.zip


更多关于uni-app chooseImage闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app chooseImage闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在Android 11设备上使用uni.chooseImage拍照闪退,通常与权限配置或文件路径处理有关。以下是关键排查点:

  1. 权限配置:确保在manifest.json中正确声明相机和存储权限:

    "androidPermissions": [
        "android.permission.CAMERA",
        "android.permission.READ_EXTERNAL_STORAGE",
        "android.permission.WRITE_EXTERNAL_STORAGE"
    ]
    

    Android 11需适配分区存储,添加android:requestLegacyExternalStorage="true"到application节点(HBuilderX 3.1.22默认包含)。

  2. 路径兼容性:Android 11对文件访问限制更严格,使用uni.getFileSystemManager()处理临时文件,避免直接操作路径。

  3. 代码调整:尝试仅使用相机源并限制数量:

    uni.chooseImage({
        count: 1, // 测试单张
        sourceType: ['camera'],
        success: (res) => {
            const fs = uni.getFileSystemManager();
            // 使用fs API处理文件
        }
    });
回到顶部