Android Phonegap 2.2压缩图像时出错

时间:2012-12-11 10:29:53

标签: android cordova camera

我正在使用phonegap 2.2(cordova-2.2.0.js)开发应用程序。我正在尝试捕捉图像。当我按下上传按钮时,相机打开,我拍照,然后出现一个屏幕,有两个选项,放弃并保存。如果我单击保存,应用程序将返回到我的原始屏幕,并且我收到错误压缩图像时出错。

我使用了phonegap文档中的代码:

http://docs.phonegap.com/en/2.2.0/cordova_camera_camera.md.html#cameraOptions

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
alert("device ready");

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}
var options = {
        quality : 100,
        destinationType : Camera.DestinationType.DATA_URL,
        sourceType : Camera.PictureSourceType.CAMERA, 
        encodingType: Camera.EncodingType.JPEG,
        saveToPhotoAlbum: true

}
$("#takePicture").click(function(){
    navigator.camera.getPicture(onSuccess, onFail, options); 

})

}

我尝试设置destinationType选项:Camera.DestinationType.FILE_URI,

并且错误更改为捕获图像的错误,并显示logcat

12-11 12:23:13.965:W / System.err(2419):java.io.FileNotFoundException:/mnt/sdcard/Android/data/ro.iss.my.package/cache/.Pic.jpg :打开失败:ENOENT(没有这样的文件或目录)

在第一种情况下,logcat不会显示任何错误。

12-11 12:27:13.990: D/DroidGap(3618): Paused the application!
12-11 12:27:13.990: D/CordovaWebView(3618): Handle the pause
12-11 12:27:14.930: W/IInputConnectionWrapper(3618): showStatusIcon on inactive InputConnection
12-11 12:27:22.105: I/System.out(3618): Not a DRM File, opening notmally
12-11 12:27:22.160: D/dalvikvm(3618): GC_EXPLICIT freed 7823K, 38% free 13168K/21191K, paused 3ms+2ms
12-11 12:27:22.160: W/CursorWrapperInner(3618): Cursor finalized without prior close()
12-11 12:27:22.160: D/DroidGap(3618): Resuming the App
12-11 12:27:22.195: W/CursorWrapperInner(3618): Cursor finalized without prior close()
12-11 12:27:22.195: W/CursorWrapperInner(3618): Cursor finalized without prior close()

我在两台设备上的android 4.0.3上测试了这个。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您缺少权限列表中的WRITE_EXTERNAL_STORAGE。没有它,应用程序将无法编写jpg文件。