Phonegap: La cámara no funciona en android kitkat
Estoy desarrollando una aplicación en Android para la aplicación de cámara. Añado la cámara usando cordova plugin
Config.xml
<feature name="Camera"> <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" /> </feature>
Código para tomar la foto
function snapPicture () { navigator.camera.getPicture (onSuccess, onFail, { quality: 100, sourceType: navigator.camera.PictureSourceType.CAMERA, mediaType: navigator.camera.MediaType.PICTURE, destinationType: destinationType.FILE_URI, encodingType: navigator.camera.EncodingType.JPEG, correctOrientation: false, saveToPhotoAlbum: true }); //A callback function when snapping picture is success. function onSuccess (imageData) { var image = document.getElementById ('picture'); alert("path : "+imageData); image.src = imageData; } //A callback function when snapping picture is fail. function onFail (message) { alert ('Error occured: ' + message); } }
El código está funcionando bien en todas las versiones de Android esperan que Kitkat para Android. En Kitkat estoy recibiendo la respuesta como " Error capturando la imagen "
Puede cualquiera decirme cuál es el problema en Kitkat Gracias por adelantado …!
Usted cometió un error dentro de su código. destinationType: destinationType.FILE_URI,
no funcionará. Cambiar esa línea a destinationType: Camera.DestinationType.FILE_URI,
lugar y se ejecutará. Aquí está su código de trabajo completo:
function snapPicture() { navigator.camera.getPicture(onSuccess, onFail, { quality: 100, sourceType: navigator.camera.PictureSourceType.CAMERA, mediaType: navigator.camera.MediaType.PICTURE, destinationType: Camera.DestinationType.FILE_URI, encodingType: navigator.camera.EncodingType.JPEG, correctOrientation: false, saveToPhotoAlbum: true }) //A callback function when snapping picture is success. function onSuccess (imageData) { var image = document.getElementById ('picture'); alert("path : "+imageData); image.src = imageData; } //A callback function when snapping picture is fail. function onFail (message) { alert ('Error occured: ' + message); } }
Te recomiendo que utilices GapDebug para depurar tus aplicaciones.