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
- Mensajes de QTAGUID del spam de proyecto Android phonegap
- Soporte de Chromecast en PhoneGap / Córdoba
- Almacenamiento seguro para la aplicación Android PhoneGap
- ¿Hay una alternativa a getUserMedia para Phonegap Android (local)?
- App PhoneGap Crash cuando toma una nueva foto con Plugin de cámara
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?
- PhoneGap - Abrir aplicación externa
- Plugin Phonegap Administración de energía
- No se puede acceder al archivo php desde otro dominio
- Phonegap NFC no funciona
- Phonegap ChildBrowser plugin: Desactivar / Ocultar URL en la barra de ubicación, pero NO botones de atrás / adelante / salida
- PhoneGap / Android, abra ChildBrowser desde .shouldOverrideUrlLoading ()
- ¿Cómo usar Phonegap SoftKeyboard Plugin para Android?
- La generación de Gradle falló cuando el soporte de importación-v4-22.0.0
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.
- Vista previa de Android Studio Designer no muestra las dimensiones correctas
- Descomposición ETA de Google Maps Navigation