首页 > 解决方案 > Android 错误 - 访问被拒绝无法保存裁剪的图像

问题描述

我有一个 Ionic 5/Angular 应用程序,它使用 Ionic Native Camera 插件来拍照和裁剪图像。在我更新到 Android 11(使用 note 10 plus)之前,该功能运行良好。更新后,裁剪时抛出如下错误:无法保存裁剪后的图像 - 访问被拒绝。

TS代码:

takePicture() {
    this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE, 
    this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE]);

    const options: CameraOptions = {
      quality: 100,
      targetHeight: 1920,
      targetWidth: 1080,
      sourceType: 1, // CAMERA
      destinationType: 0, // DATA_URL
      encodingType: this.camera.EncodingType.JPEG,
      correctOrientation: true,
      allowEdit: true
    };

    this.camera.getPicture(options).then((imageData) => {
     // Persist image data
    });
  }

应用程序在其他设备上运行良好。还检查了我的应用程序、图库应用程序和照片编辑器应用程序是否具有存储和相机权限。我可以拍照并打开裁剪器 - 点击完成后,会显示“访问被拒绝”消息,紧随其后的是“无法保存裁剪的图像”。

开放式摄像头

裁剪图像

单击完成 - 访问被拒绝错误

裁剪错误

  1. 什么可能导致错误?
  2. 如何查看哪个应用程序设置为设备的默认裁剪应用程序?
  3. 如何清除/重置默认裁剪应用程序?

注意:我在另一台运行 Android 11 的设备上对此进行了测试,结果出现了同样的错误。

标签: androidionic-frameworkionic-nativeionic5

解决方案


请检查 Android 11 对外部存储的更改。

您必须对 Android 11 使用一种方法,点击上面的链接并更新您的照片编辑器应用。


推荐阅读