android—— cordova调用原生相机

额。。相关的下载和集成就不说了,直接说说怎么调用原生相机吧。

首先,先添加相关的插件

cordova plugin add cordova-plugin-camera

然后,瞅瞅自己插件有木有加进去

cordova plugin list

如果加进去了,是酱婶的~

FEF5D853-3BCD-4079-8CF0-EBFB52CDB563.png

备注:命令行记得切换到相应的工程下面哦~不然, 会出现
Error: Current working directory is not a Cordova-based project.
这样子的错误

然后用androidstudio打开相应的工程(不用AS打开也可以),工程下面的 assets/www/js 这个文件夹下建一个 photo.js (名字任意取啦~) 。里面的内容是:

document.addEventListener('deviceready', function () {
           document.getElementById('btn')
               .addEventListener('click', capturePhoto);
             });
function capturePhoto(){
                if (!navigator.camera) {
                    alert('camera:')
                }
                navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
                                                destinationType: Camera.DestinationType.DATA_URL}
                                                );
            }
            //拍照成功
            function onSuccess(imageData){
            alert('拍照成功啦');
                var image = document.getElementById('smallImage');
                    image.src = "data:image/jpeg;base64," + imageData;
            }
            function onFail(message){
                alert('拍照失败:' + message);
            }

然后,找到 index.html 修改body内容

<body style="padding-top:50px">
    <button id="btn" style="font-size:23px;">拍摄照片</button> <br>
    <div>
        ![](img/logo.png)
    </div>
    </body>

最后,记得加一行

<script type="text/javascript" src="js/photo.js"></script>

然后运行就可以拍照啦~
虽然,运行出来以后觉得好容易,但是自己真正去动手的时候会出现好多问题。
比如:我button加上 onclick="capturePhoto();" 以后一度报错,因为不是做前端的,也不是很具体知道为啥,后来在stackoverflow找到了类似的答案,试试跟着一起改啥的。
主要是参考了cordova的官网和CSDN上的博客结合着起来看:
http://blog.csdn.net/u013491677/article/details/51985390
http://cordova.axuer.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,612评论 25 709
  • 导语 这篇文章主要介绍了如何在Android平台上使用Cordova 的command-line interfac...
    jorstinchan阅读 22,773评论 6 41
  • ionic是一个运行在webview上的应用,但是很多功能js搞不定,免不了本地代码的支持。ionic在nativ...
    李泽1988阅读 3,067评论 0 3
  • 刚刚从表弟那里听来的,说新生入校,传说宿舍里闹鬼。当天晚上扫帚就自动移动起来,室长听见邻铺有动静,连忙爬过去“嘘!...
    洞庭府君阅读 303评论 0 4
  • 你好啊 你好啊 天空,樱花悄悄睁开惺忪的睡眼好奇地打量着一切。
    星清月明阅读 238评论 0 1