額。。相關的下載和集成就不說了,直接說說怎么調用原生相機吧。
首先,先添加相關的插件
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>

</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