我有一个Android应用程序,但我不能使用相机。 该应用程序始终打开图库。 我尝试设置sourceType像Camera.PictureSourceType.CAMERA但不工作...总是打开画廊...有什么问题?
代码:
(function () {
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
function onDeviceReady() {
var buttonTakePhoto = document.querySelector("#btnTakePhoto");
if (buttonTakePhoto != null) {
buttonTakePhoto.addEventListener("click", capturePhoto, false);
}
};
function capturePhoto() {
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, sourceType: Camera.PictureSourceType.CAMERA });
};
//Callback function when the picture has been successfully taken
function onPhotoDataSuccess(imageData) {
var smallImage = document.getElementById('smallImage');
// Unhide image elements
smallImage.style.display = 'block';
smallImage.src = imageData;
};
//Callback function when the picture has not been successfully taken
function onFail(message) {
alert('Failed to load picture because: ' + message);
};
HTML:
<html>
<head>
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
</head>
<body>
<input type="button" value="Tirar Foto" id="btnTakePhoto" class="quitButton" />
<img id="smallImage"/>
<script type="text/javascript" src="scripts/takePhoto.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="scripts/platformOverrides.js"></script>
<script type="text/javascript" src="scripts/index.js"></script>
</body>
</html>
感谢您的帮助!
答案 0 :(得分:0)
工作!
在选项中添加 mediaType:Camera.MediaType.CAMERA 。
function capturePhoto() {
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, sourceType: Camera.PictureSourceType.CAMERA, mediaType: Camera.MediaType.CAMERA });