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() 。调用手机相机拍照,拍照成功就上传。以前做过的,不知道为什么,这次死活就不正常了。

    评论

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效