zoukankan      html  css  js  c++  java
  • 毕设制作:前端界面 2020-02-01

    应用mui制作webapp,在之前的基础上实现相机的开启,大部分时间浪费在相机权限的判断与开启。

    判断相机权限问题:

    //相机权限是否开启,
    if(plus.navigator.checkPermission('CAMERA') == 'undetermined' || plus.navigator.checkPermission('CAMERA') == 'denied'){
    openCamera();
    }

    相机权限开启:

    /*获取相机权限*/
    function openCamera() {
    var msg = "请在应用权限里设置允许使用相机权限";
    mui.confirm(msg, "开启相机权限", ["去开启", "取消"], function(e) {
    if(e.index == 0) {
    if(mui.os.ios) {
    plus.runtime.openURL("app-settings:CAMERA");
    } else {
    var main = plus.android.runtimeMainActivity();
    var Intent = plus.android.importClass("android.content.Intent");
    var Build = plus.android.importClass("android.os.Build");
    var Uri = plus.android.importClass("android.net.Uri");
    var intent = new Intent();
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    if(Build.VERSION.SDK_INT >= 9) { //系统8.0以上的
    intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
    intent.setData(Uri.fromParts("package", main.getPackageName(), null));
    } else if(Build.VERSION.SDK_INT <= 8) { //系统8.0以下的
    intent.setAction(Intent.ACTION_VIEW);
    intent.setClassName("com.android.settings", "com.android.setting.InstalledAppDetails");
    intent.putExtra("com.android.settings.ApplicationPkgName", main.getPackageName());
    }
    main.startActivity(intent);
    //
    }

    } else {}
    }, 'div')
    };

    经测试:小米、华为、vivo、苹果手机均可成功运行

    /*相机调用*/
    function getImage() {
    var c = plus.camera.getCamera();
    c.captureImage(function(e) {
    plus.io.resolveLocalFileSystemURL(e, function(entry) {
    console.log(e);
    var s = entry.toLocalURL() + "?version=" + new Date().getTime();
    console.log(s);
    document.getElementById("head-img").src = s;
    document.getElementById("head-img1").src = s;
    //变更大图预览的src
    //目前仅有一张图片,暂时如此处理,后续需要通过标准组件实现
    document.querySelector("#__mui-imageview__group .mui-slider-item img").src = s + "?version=" + new Date().getTime();
    }, function(e) {
    console.log("读取拍照文件错误:" + e.message);
    });
    }, function(s) {
    console.log("error" + s.message);
    if(plus.navigator.checkPermission('CAMERA') == 'undetermined' || plus.navigator.checkPermission('CAMERA') == 'denied'){
    openCamera();
    }
    }, {
    filename: "_doc/head.jpg"
    })

    }
    /*相册调用*/
    function galleryImg() {
    plus.gallery.pick(function(a) {
    plus.io.resolveLocalFileSystemURL(a, function(entry) {
    plus.io.resolveLocalFileSystemURL("_doc/", function(root) {
    root.getFile("head.jpg", {}, function(file) {
    //文件已存在
    file.remove(function() {
    console.log("file remove success");
    entry.copyTo(root, 'head.jpg', function(e) {
    var e = e.fullPath + "?version=" + new Date().getTime();
    document.getElementById("head-img").src = e;
    document.getElementById("head-img1").src = e;
    //变更大图预览的src
    //目前仅有一张图片,暂时如此处理,后续需要通过标准组件实现
    document.querySelector("#__mui-imageview__group .mui-slider-item img").src = e + "?version=" + new Date().getTime();;
    },
    function(e) {
    console.log('copy image fail:' + e.message);
    });
    }, function() {
    console.log("delete image fail:" + e.message);
    });
    }, function() {
    //文件不存在
    entry.copyTo(root, 'head.jpg', function(e) {
    var path = e.fullPath + "?version=" + new Date().getTime();
    document.getElementById("head-img").src = path;
    document.getElementById("head-img1").src = path;
    //变更大图预览的src
    //目前仅有一张图片,暂时如此处理,后续需要通过标准组件实现
    document.querySelector("#__mui-imageview__group .mui-slider-item img").src = path;
    },
    function(e) {
    console.log('copy image fail:' + e.message);
    });
    });
    }, function(e) {
    console.log("get _www folder fail");
    })
    }, function(e) {
    console.log("读取拍照文件错误:" + e.message);
    });
    }, function(a) {}, {
    filter: "image"
    })
    };

  • 相关阅读:
    设计模式-外观模式
    多线程面试笔试题-1
    final 关键字
    java 继承 初始化顺序
    java内部类
    Python-面向对象-静态方法
    接口自动化测试框架搭建
    使用yaml设计测试用例进行单接口测试
    数据驱动测试--对excel文件的操作
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/cc-9878/p/12249437.html
Copyright © 2011-2022 走看看