uni-app uni.chooseImage使用crop裁剪完图后没有跳转回来也没有进入到成功回调中

uni-app uni.chooseImage使用crop裁剪完图后没有跳转回来也没有进入到成功回调中

类别 信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 win11
HBuilderX 正式
HBuilderX版本 4.85
手机系统 Android
手机版本号 Android 12
手机厂商 OPPO
手机机型 oppo reno ace
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:



uni.chooseImage,选择相册中的图片,配上crop,选取完毕图片后,能裁剪图片,点击确定后,跳转回选择照片的界面,没有返回到程序界面中,也没有触发成功回调。拍照没有这种问题。上个版本肯定是没有问题的。

操作步骤:



调用uni.chooseImage方法,选择相册+裁剪,裁剪完毕后观察是否有回调。

预期结果:



裁剪完毕后跳回原程序,并在成功回调中返回图片地址

实际结果:



没有跳回原程序,没有触发成功回调

更多关于uni-app uni.chooseImage使用crop裁剪完图后没有跳转回来也没有进入到成功回调中的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.chooseImage使用crop裁剪完图后没有跳转回来也没有进入到成功回调中的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的uni-app裁剪组件在Android 12设备上的兼容性问题。当使用uni.chooseImage配合crop参数时,裁剪完成后无法正确返回应用并触发成功回调。

问题原因: Android 12引入了新的隐私保护机制,对Activity的启动模式进行了更严格的限制,导致裁剪后的页面无法正确跳转回原应用。

解决方案:

  1. 临时规避方案:

    • 移除crop参数,使用第三方图片裁剪插件替代
    • 或使用uni.chooseMedia替代(HBuilderX 3.6.0+支持)
  2. 代码调整方案:

    // 使用chooseMedia替代chooseImage
    uni.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sourceType: ['album'],
      camera: 'back',
      success(res) {
        console.log('选择成功', res.tempFiles[0].tempFilePath)
      }
    })
回到顶部