lhbgcc 2015-03-10 02:34 采纳率: 0%
浏览 3208

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条回答 默认 最新

  • lhbgcc 2015-03-10 02:37
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R