Cámara en la aplicación de teléfono. Reiniciar la aplicación
Estoy desarrollando la aplicación phonegap. Y usando la cámara en ella. Estaba trabajando hace unos días. Hice muchos cambios en los últimos días y ahora la cámara no funciona correctamente. Se abre la cámara, pero cuando tomo la foto, a continuación, desde la aplicación de la cámara. Cuando presione Aceptar, reiniciar la aplicación.
No estoy entendiendo cómo lo está haciendo. En realidad, no puedo entender si se puede reiniciar desde mi aplicación phonegap. Código JS o sólo se puede reiniciar desde el código Java de Android.
- HTML5 Audio no puede reproducir JavaScript a menos que se active manualmente una vez
- Cómo capturar clave de retroceso clave en el navegador Android - javascript?
- ¿Cómo puedo obtener un objeto File de PhoneGap camera.getPicture?
- Touchend no disparar después de touchmove en android 4.x?
- Javascript para eliminar la cookie en el navegador web android
Estoy usando este código para la cámara:
function takePhoto() { navigator.camera.getPicture(onCameraPicSuccess, onCameraPicFail, {quality: 50, destinationType: Camera.DestinationType.FILE_URI }); function onCameraPicSuccess(imageURI) { alert("coming here in pic success"); var img = '<div style="padding:4px; margin:10px; border: solid 2px #666;float: left; width:30%"><img src="' + imageURI + '" width="100%" /></div>'; $('#images_area').append(img); } function onCameraPicFail(message) { alert('Failed because: ' + message); }
Así que cualquier idea, que la aplicación. Se reiniciará al utilizar la aplicación de cámara. A través del código anterior? Mi código JS no tiene pantalla de bienvenida, pero mi código Java tiene eso. Así que después de presionar el botón OK de la cámara, puedo ver la aplicación. Reiniciado con el enlace del back button
y el enlace del back button
menu button
que no trabajaban por un rato.
Así que no estoy seguro de lo que está sucediendo. Si ustedes tienen tal experiencia o alguna idea entonces se sienten libres de compartir.
Si hay algo más que necesito decir. Entonces déjame saber.
Después de hacer algo más de búsqueda en stackoverflow.com, llegué a saber que el problema es de android, como Android matar la aplicación. En el fondo si tiene menos memoria. Así que necesita para liberar la memoria, etc Pero lo que me di cuenta es que la aplicación estaba funcionando bien cuando estaba usando JQuery Mobile Forms. Pero después de que lo cambié a la costumbre, este problema de la cámara aparece. Así que si esto es un problema relacionado con la memoria, entonces por qué se produjo en la eliminación de formularios móviles jQuery y hacer el trabajo personalizado. De hecho, ahora la aplicación es aún más suave con el trabajo personalizado. Así que estoy confundido que si es problema relacionado con la memoria o algo más? Y cómo abordar este tipo de aplicación. Desarrollado en la brecha telefónica.
- ¿Cómo detectar si un dispositivo móvil es emulado por Google Chrome?
- ¿Por qué el área de clic de Android tiene un radio más amplio que touchstart? ¿Cómo puedo hacerlo consistente?
- Traducir eventos táctiles de Javascript a jQuery
- El enfoque de la ventana y los eventos de desenfoque no funcionan correctamente en el navegador de Android
- KeyCode en android es siempre 229
- ¿Por qué se eliminó el soporte de los Trabajadores Web HTML5 del navegador de Android en las versiones 2.2 y superiores?
- ¿Cordova evita la arrastrar webview en el campo de enfoque?
- La función ajax de jQuery no funciona en la aplicación Android PhoneGap
La API de la cámara de la cámara telefónica invoca la aplicación de la cámara cuando utiliza
navigator.camera.getPicture
Por favor, lea aquí – http://docs.phonegap.com/es/edge/cordova_camera_camera.md.html#Camera
Esto empuja su aplicación en segundo plano y que puede conducir a su aplicación que se matan si no hay suficiente memoria.
Si no desea que su aplicación entre en segundo plano mientras la cámara está en funcionamiento, debe utilizar un complemento de cámara de primer plano. Echa un vistazo aquí
Es posible que necesite cambiarlo para adaptarlo a sus necesidades.
Puede ser un problema relacionado con la memoria. Puede aumentar el tamaño de montón de su aplicación estableciendo android:largeHeap="true"
en su archivo de manifiesto de aplicación.
No debería necesitar crear una cámara en primer plano personalizada completa, sólo tiene que especificar al coleccionista de elementos no deseados agresivo que desea recuperar la intención antigua en lugar de iniciar una nueva instancia. Intente establecer un indicador en la intención guardada dentro del complemento de la cámara:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Ver mi post aquí: https://stackoverflow.com/a/29630548/2782404
Además, aumentar el tamaño del montón y usar singleTask / singleInstance no funcionó para mí
En el archivo android menifest, establezca el modo de inicio de la actividad en "singleTask" o "singleInstance".
Puede ser su aplicación lanzando la actividad en múltiples ocasiones.
Ver este enlace, explica que esto no tiene que ver realmente con phonegap, pero con las actividades de android. Él sugiere usar un complemento llamado Plugin de cámara de primer plano.
La cámara PhoneGap reinicia la aplicación
- ¿Cómo administrar la pila de actividades?
- Método multiplataforma para eliminar la barra de direcciones de una aplicación web para móviles