Android: "onBackPressed" sólo se llama desde la primera página de Cordova 3 webview, no se puede anular desde páginas interiores
Estoy construyendo una aplicación Cordova 3. Estoy cargando una url a mi appview y en ciertos casos estoy abriendo una vista de pantalla completa encima de la appview. En estos casos, me gustaría que el botón de retroceso para quitar sólo mi vista superior, y no realizar el construido en "goBack" método. No logré anular el comportamiento de retroceso en páginas internas. Me di cuenta de que estoy llegando a mi función de oyente "onBackPressed" sólo cuando hago clic en "volver" de mi página inicial de URL, las páginas internas parecen desactivar la propagación de eventos "back" y siempre realizar navegación de navegación del navegador.
He encontrado este post: Override Android Backbutton comportamiento sólo funciona en la primera página con PhoneGap, pero parecía sólo relevante a las versiones cordova más antiguo.
- ¿Por qué no puedo establecer currentTime y la duración es igual a 0 en HTML AudioElement en Android WebView?
- Interceptar solicitudes POST en un WebView
- Mostrar página html que tiene algún objeto .swf con él
- React-nativo de Android WebView manejar clic en Url antes de cargar
- Android WebView desplácese hacia abajo
Cualquier ayuda sería apreciada.
¡Gracias!
- Sherlock Acción invalidateOptionsMenu ()
- TLS 1.1, 1.2 en WebView para android <= 4.3
- ¿Cómo usar WebView con Picasso?
- Cómo obtener el url de la página actual desde la vista web en android
- ¿Cómo detener el video de YouTube en la vista web de Android?
- 'Webpage not available' con WebView.loadData () SOLAMENTE en el emulador
- Vista web de Android Timeout si tarda más de un cierto tiempo en cargar
- Superposición blanca en WebView después de la actualización a AppCompat con Xamarin Forms
Este es el mismo problema que he enfrentado, simplemente solucionar esto mediante la adición del siguiente código en mi cada página HTML
<head> <script type="text/javascript"> function onLoad() { document.addEventListener("deviceready",onDeviceReady,false); } function onDeviceReady() { document.addEventListener("backbutton",noth,false); } function noth() { //code for what happends if back button is pressed } </script> </head> <body onload="onLoad()"> </body>
Usando este código he creado una aplicación de phonegap que muestra un mensaje de confirmación como 'exit app?' Si se pulsa el botón de nuevo en el archivo html principal, mientras que en otros casos se muestra anterior página html
Para referencia: Phonegap – navigator.app.backHistory () no funciona en el botón de retorno de HTML
- Android cómo implementar eficientemente el caché de datos y los eventos de cambio de configuración en fragmentos?
- Cómo utilizar el filtro Band Pass (18Khz a 22Khz) en Android