2012-10-16 69 views
1

我在PhoneGap的应用程序有一个简单的链接,这将触发以下方法:的PhoneGap navigator.camera.getPicture不会触发回调

 navigator.camera.getPicture(function(imageData) { 
      console.log('Success'); 
      $('#image').attr('src', "data:image/jpeg;base64," + imageData); 
     }, function(errorMsg) { 
      console.log('Error'); 
     }, { 
      quality: 30, 
      destinationType: Camera.DestinationType.DATA_URL, 
      correctOrientation: true 
     }); 

在iPhone和iPad上它工作的时间70-80%:如果用户点击,摄像机打开,我拍照,摄像机关闭,来自成功方法的console.log()将被触发,我可以捕捉图像源。另一次没有发生。成功或错误回调将被调用。相机打开,我拍照,相机将关闭,我看到我的应用程序,但没有任何反应。我无法找出问题所在。

为了防止存储问题,我触发navigator.camera.cleanup() - 每个链接单击方法。但问题依然存在。在iPhone,iPad和我的Android模拟器上。首先,我认为我的应用程序在拍摄照片后重新启动itseft,但是这没有发生(如果deviceready-Event正在发生,我使用console.log)。

我不认为这是从Android或iOS的问题......但我不知道。

回答

-1

确保你叫它onDeviceReady

document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() 
{ 
    your code here! 
}