android - 如何使用 Cordova 相机插件拍摄多张照片

标签 android cordova camera phonegap-build

我一直在 Android 上进行测试,我的目标是使用 Cordova Camera 或 Media Capture 拍摄多张照片,并将它们保存到一个画廊,该画廊将自动纠正/修复方向。后退按钮与 Media Capture 相结合,取消了照片拍摄 session ,但似乎在没有更正方向的情况下保存照片。如果我使用相机插件拍照,我会得到我需要的照片,但我一次只能拍一张照片。有没有办法将 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, 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();
});

关于android - 如何使用 Cordova 相机插件拍摄多张照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30090260/

相关文章:

android - 在 XML 中设置 SearchView 宽度和提示颜色

java - Glide 用加载的图像部分覆盖屏幕

android - 保存数据并使用它

android - Phonegap Android 配置失败 :could not build android template project of phonegap

uiwebview - PhoneGap可以发送 header 吗

java - Cordova错误: Failed to execute shell command "getprop,dev.bootcomplete""

javascript - Phonegap 摄像头和二维码

java - 应用程序启动时图像超出 imageview

android - 从 native Android 相机应用程序捕获黑白照片

java - 如何复制 Android 的股票相机方向变化