android – 如何使用Cordova Camera Plugin拍摄多张照片

我一直在 Android上进行测试,我的目标是使用Cordova相机或Media Capture拍摄多张照片,然后将它们保存到一个可以自动修正/修正方向的图库中.后退按钮与Media Capture一起取消了拍照会话,但似乎保存了照片而没有更正的方向.如果我使用相机插件拍照,我会得到我需要的照片,但我一次只能拍一张照片.有没有办法将navigator.camera.getPicture包装到一个循环中,该循环将拍摄照片,直到应用取消/返回按钮.似乎该函数是异步的,无论方法如何,我都无法使其工作.

奇怪的是,如果我使用文件管理器将媒体捕获插件保存的文件手动复制到图库或同一文件夹中,则更正方向.

更新:我通过调用函数在成功事件中再次拍照来解决它.

function takePicture(){

navigator.camera.getPicture( cameraSuccess,cameraError,{
        quality: 50,destinationType: Camera.DestinationType.FILE_URI,correctOrientation: true,savetoPhotoAlbum: true
    }); 

}

function cameraSuccess(uri){   
    //alert(uri);
    takePicture();    
}

function cameraError(message){
    alert("Canceled!"); 
}

$('#ThumbnailTest_buttonTakePhotosNow').click(function(){
    takePicture();
});

解决方法

OP提到问题中的解决方案所以我认为最好添加为答案:

您可以通过调用函数在成功事件中再次拍照来完成此操作.

function takePicture(){

navigator.camera.getPicture( cameraSuccess,savetoPhotoAlbum: true
    }); 

}

function cameraSuccess(uri){   
    //alert(uri);
    takePicture();    
}

function cameraError(message){
    alert("Canceled!"); 
}

$('#ThumbnailTest_buttonTakePhotosNow').click(function(){
    takePicture();
});

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...