navigator.camera.getPicture API によって呼び出される次のコードを使用しています。
function getImageURI(imageURI) {
//resolve file system for image to move.
window.resolveLocalFileSystemURI(imageURI, gotPicture, function(error) {onfail(error,'Get Target Image');});
function gotPicture(targetImg) {
//move the image into the post_(n) directory.
targetImg.moveTo(Globals.POSTDIR_OBJ,Utils.getImageName(), moveSuccess2, function(error){alert('Move Error')} );
function moveSuccess2(){
alert('addPicture moveSuccess');
//update the picture counts in the client and DB.
Globals.pictCount++;
updateFilesById();
setTimeout("Gallery.show()",500);
};
}; //gotPicture
}; //getImageURI
問題は、成功コールバック関数も失敗コールバック関数も呼び出されない時間の約 30% です。
移動は実際には毎回成功しますが、成功関数は約 1/3 の時間で実行に失敗します。