IOS下Cordova程序调用相机黑屏

我用AppFrameWork3+html5+Cordova开发混合模式手机应用。以前都正常的,这次不明白为什么,一个简单的页面调用相机拍照上传的程序,调用相机后,手机屏幕黑屏。退出程序后,打开手机相机一切正常。整页程序见下。相机插件也都安装好了。都没有问题,就是调用相机,手机黑屏,但也能拍照的。

<!DOCTYPE html>


测试页面






<script type="text/javascript" charset="utf-8" src="MyJS/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="MyJS/fastclick.min.js"></script>
<script type="text/javascript" charset="utf-8" src="MyJS/appframework.ui.js"></script>
<script type="text/javascript" charset="utf-8" src="Scripts/Common.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

<script type="text/javascript">

    function onDeviceReady() {

        pictureSource = navigator.camera.PictureSourceType;
        destinationType = navigator.camera.DestinationType;

    }

    function dismised() {
        ;
    }

    function uploadFile(pickUrl) {

        var imageURI = pickUrl;
        if (!imageURI)
            alert('请先选择本地图片');
        var options = new FileUploadOptions();
        options.fileKey = "file";
        options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
        options.mimeType = "image/jpeg";

        var params = new Object();

        //params.desc = $("#filedesc").val();
        params.value1 = 111;
        params.value2 = 222;
        params.value3 = 333;
        options.params = params;

        var ft = new FileTransfer();

        var myurl = faddress + "/TraceM/TRecvFile.ashx";

        ft.upload(
                    imageURI,
                    encodeURI(faddress + "/TraceM/TRecvFile.ashx"),
                    function () { navigator.notification.alert('成功上传服务器!!', dismised, '状态报告', '知道了'); },
                    function () { alert('上传失败!'); },
                    options);
    }


    function onSuccess(files) {
        uploadFile(files);

    }

    function onFail(err) {
        navigator.notification.alert('错误码:' + err.code, null, 'Uh oh!');
    }


    function captureImage() {

        if ($("#filedesc").val() == "") {
            alert("请先填写描述信息!");
            return false;
        }

        navigator.camera.getPicture(onSuccess, onFail,
        {
            quality: 50,
            destinationType: destinationType.FILE_URI,
            targetWidth: 1024, //2048, //640, // 240
            targetHeight: 768, //1536, //960,  // 320
            correctOrientation: true
        });
    }

    $(function () {

        document.addEventListener("deviceready", onDeviceReady, false);
        $("#tab3").on("click", function () {
            window.location.replace("index.htm");
        });

    })

</script>


程序加载中,请稍后

程序加载中,请稍后

审核内容页面

返回


1个回答

发布出来的代码似乎不太正常,不过js都是对的。就是html显示有问题。不过,html都不重要,也没什么内容,就是一个a标签,onclick调用:captureImage() 。调用手机相机拍照,拍照成功就上传。以前做过的,不知道为什么,这次死活就不正常了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问