2012-10-16 117 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! 
}