PhoneGap navigator.camera.getPicture 不触发回调

Posted

技术标签:

【中文标题】PhoneGap navigator.camera.getPicture 不触发回调【英文标题】:PhoneGap navigator.camera.getPicture don't trigger Callback 【发布时间】:2012-10-16 17:30:19 【问题描述】:

我的 PhoneGap 应用中有一个简单的链接,它会触发以下方法:

        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()-Method。但问题仍然存在。在 iPhone、iPad 和我的 android 模拟器上。首先,我认为我的应用程序在拍照后会重新启动,但这并没有发生(如果发生了 deviceready-Event,我会创建一个 console.log)。

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

【问题讨论】:

【参考方案1】:

确保在 onDeviceReady 中调用它

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()

    your code here!

【讨论】:

以上是关于PhoneGap navigator.camera.getPicture 不触发回调的主要内容,如果未能解决你的问题,请参考以下文章

我如何从 PhoneGap camera.getPicture 获取 File 对象?

使用带有PhoneGap的设备摄像头

Phonegap Vue js Android将CAMERA图像上传到API服务器

PhoneGap 相机 API 不适用于 iOS

在 iPad phoneGap 应用程序中打开相机

PhoneGap 摄像头重启应用