iOS上的Cordova:相机仅在返回主屏幕然后启动应用程序后才能工作

时间:2014-12-27 13:55:27

标签: ios cordova

一直在测试iPhone 4S和iPad Mini上的Cordova应用程序,它有这种奇怪的行为,当我使用此代码启动相机功能时:

    $(document).on('click', '.camera', function() {
    if (!navigator.camera) {
        alert("Camera API not supported", "Error");
        return;
    }
    var options = {
        quality: 65,
        destinationType: Camera.DestinationType.DATA_URL,
        sourceType: 1,
        // 0:Photo Library, 1=Camera, 2=Saved Album
        encodingType: 0,
        // 0=JPG 1=PNG
        correctOrientation: true,
        targetWidth: 700,
        targetHeight: 700
    };

    function addHiddenElement(elementId, imgData) {
        $("<input>", {
            type: "hidden",
            name: "imagedata" + elementId,
            id: "imagedata" + elementId,
            value: "data:image/jpeg;base64," + imgData
        }).insertAfter("#" + elementId);
    }

    function imageData(elementId) {
        navigator.camera.getPicture(function(imgData) {
            addHiddenElement(elementId, imgData);
            //return imgData; 
        }, function() {
            alert('Error, camera functionality not working');
        }, options);
    }
    imageData(this.id);
});

一半时间它工作正常,但另一半没有任何反应。但是,如果我回到iOS主屏幕,然后再次返回应用程序(即不重新启动应用程序,只需来回切换),那么相机就能正常工作。

我怀疑这可能是一个记忆问题,但不知道该怎么办。

有什么想法吗?

0 个答案:

没有答案