科尔多瓦相机即使在假的情况下也能保存到画廊

我处于一个非常讨厌的境地...

我的客户想要一个Ionic Framework v1中的Cordova应用程序,并且相机必须不要将图像保存到图库。但是,当我将保存到图库的参数设置为 false 时,它仍然保存到图库。

当您拍摄照片并取消照片时,会在Android上出现问题。然后,它将该图片保存到图库中,有时甚至保存之后的所有其他图片。

我真的欢迎任何形式的帮助;到目前为止,我所发现的只是一些我发现很难理解的解决方案,因为我对Java的了解为零。

这是我的JS代码

function capturePhoto() {
    var maxDimension = 1280;
    var options = {
      quality: 80,
      destinationType: Camera.DestinationType.DATA_URL,
      sourceType: Camera.PictureSourceType.CAMERA,
      correctOrientation: true,
      targetWidth: maxDimension,
      targetHeight: maxDimension,
      saveToPhotoAlbum: false

    };

这适用于相机选项。

 $cordovaCamera.getPicture(options).then(function (imageData) {
      var src = "data:image/jpeg;base64," + imageData;
      $scope.photoPreviewSrc = src;
    }).catch(function (err) {

    });
  }

答案 1

我已经使用cordova检查了您的代码。它按预期工作正常。在其他设备中验证您的应用一次。

我还没有在离子平台上检查它。


答案 2

您可能需要在收到图像数据后尝试运行类似下面的操作:

navigator.camera.cleanup(onSuccess, onFail);

function onSuccess() {
    console.log("Camera cleanup success.")
}

function onFail(message) {
    alert('Failed because: ' + message);
}

文档中:“ 删除调用 后保存在临时存储中的中间图像文件。仅当等于和等于的值时才适用。camera.cleanup()camera.getPictureCamera.sourceTypeCamera.PictureSourceType.CAMERACamera.destinationTypeCamera.DestinationType.FILE_URI

以上内容与您的使用案例直接相关。