我现在的处境很糟糕...
我的客户希望在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) {
});
}发布于 2016-11-01 00:23:17
我已经用cordova检查了你的代码。正如预期的那样,它运行良好。在其他设备中验证您的应用程序一次。
我还没有在ionic platform上检查过。
发布于 2016-11-03 05:11:21
在收到图像数据后,您可能希望尝试运行类似以下内容的命令:
navigator.camera.cleanup(onSuccess, onFail);
function onSuccess() {
console.log("Camera cleanup success.")
}
function onFail(message) {
alert('Failed because: ' + message);
}来自the docs:"camera.cleanup()移除调用camera.getPicture后保存在临时存储中的中间镜像文件。仅当Camera.sourceType的值为Camera.PictureSourceType.CAMERA且Camera.destinationType为Camera.DestinationType.FILE_URI时才适用。“
以上内容与您的用例直接相关。
发布于 2016-11-07 06:05:58
它真的会出现在图片库中,还是只是出现在Android的照片应用程序中?Android默认的照片浏览器将显示所有的照片,截图等。它甚至还会显示随机的图像-其他应用程序可能在文件系统中有,但这些不是照片。
由于在科尔多瓦,你不能很好地控制操作系统,你可以使用一个变通办法:你可以将图片放在一个隐藏的目录中(从.开始,比如.appdata),这将阻止安卓从“画廊”应用程序中自动看到图片。我在一个离子应用程序中遇到了这个问题,并以这种方式解决了它。
https://stackoverflow.com/questions/40311127
复制相似问题