Cordova 3.4.0 navigator.camera.getPicture no callback onSuccess o onFail para Android 4.3

Estoy usando Cordova 3.4 con Cámara Plugin ( https://github.com/apache/cordova-plugin-camera/blob/master/doc/index.md )

Cuando llamo

navigator.camera.getPicture(onSuccess, onFail, { quality: 75, destinationType: window.Camera.DestinationType.FILE_URI, sourceType: window.Camera.PictureSourceType.CAMERA, //allowEdit: true, //cameraDirection: window.Camera.Direction.FRONT, //encodingType: window.Camera.EncodingType.JPEG, //targetWidth: 100, //targetHeight: 100, //popoverOptions: window.CameraPopoverOptions, saveToPhotoAlbum: true }); function onSuccess(imageData) { alert(imageData); } function onFail(message) { alert('Failed because: ' + message); } 

Este código funciona para Windows Phone 8.1, pero no funciona para Android 4.3 (Jelly Bean). Cuando paso a código en eclipse puedo ver que se guarda con éxito la foto en el directorio temporal de Android, pero no llama al éxito de JavaScript o falla el evento completo, por eso no puedo obtener la imagen en android.

Yo probé en Galaxy Note 2 dispositivo real y emulador y no llamé a onSuccess en ambos.

¿Hay algún problema conocido o solución para este problema?

Pruebe con estas opciones:

 destinationType: navigator.camera.DestinationType.FILE_URI sourceType: source mediaType: media 

Si esto no funciona, permítanme sugerir estas opciones. Están funcionando como desplegado en 4.2.2 (Jellybean) android y 4.4.2 (Kitkat).

 navigator.camera.getPicture(this.onPhotoDataSuccess, this.onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.CAMERA }); 

// leer y agregar el DOM

 onPhotoDataSuccess(imageData) { var smallImage = document.getElementById('smallImage'); smallImage.style.display = 'block'; smallImage.src = "data:image/jpeg;base64," + imageData; } 

Esto devolverá una imagen codificada en base64.

Si ayuda a alguien, tuve este mismo problema. Resultó que estaba llamando "navigator.camera.cleanup ()" en el evento Cordova "pausa" de la aplicación (para que limpiar los recursos cuando la aplicación se envió al fondo). El problema aquí era que la cámara envía la aplicación al fondo, así que aparentemente llamar a la limpieza estaba rompiendo cosas.

  • PhoneGap Build Notificación de empuje (Android)
  • Concatenar y minify los archivos del plugin cordova / phonegap
  • Errores al actualizar la aplicación cordova
  • Facebook Login en PhoneGap, no pasa nada
  • PhoneGap El volumen del evento y el botón volumedownbutton no funcionan
  • Andorid cordova phonegap config.xml prefijo sin conexión
  • PhoneGap FileTransfer.download espera una ruta diferente que FileSystem proporciona
  • Cómo seleccionar el video de la galería en el teléfono?
  • No has iniciado sesión. Inicia sesión e inténtalo de nuevo.
  • Mejora de Cordova PhoneGap a 5.1.1 desde 2.2.0
  • Uncaught TypeError: Object # <Object> no tiene ningún método 'exec' en el archivo: ///android_asset/www/index.html
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.