Controlar el botón volver atrás en Phonegap

En las aplicaciones hechas en HTML5 y Phonegap nos viene la duda si es necesario controlar el uso que el usuario hace del botón volver para no permitir ciertas operaciones.  Controlar dicho botón es muy sencillo, para ello, sólo necesitamos indicarlo en el método “onDeviceReady” de Phonegap.


function onDeviceReady() {
      document.addEventListener("backbutton", handleBackButton, true);
}
function handleBackButton(){

	if($.mobile.activePage.attr('id') == 'home'
              || $.mobile.activePage.attr('id') == 'listaUsuarios'){
		navigator.app.exitApp();
	}else if ($.mobile.activePage.attr('id') == 'cita'){
		$.mobile.changePage('#listaUsuarios');
	}else{
		navigator.app.backHistory();
	}
}

document.addEventListener("deviceready", onDeviceReady, false);

En el ejemplo que se muestra, permitimos que para ciertas páginas, el usuario pueda ir hacia atrás directamente, en otras el usuario irá a una en cuestión, mientras que si se encuentra en las páginas iniciales el usuario se saldrá de la aplicación.

Este método también es válido para Windows Phone 7 y 8.

Esperamos que haya sido útil.

 

Actualización:

Si lo que se quiere es que el botón volver no haga nada, simplemente hay que definir el método y el “listener” dejando el método vacío.

Anuncios

2 comentarios

  1. navigator.app.backHistory(); y ese evento para que es?

    1. No es realmente un evento, es un método que nos permite volver una página para atrás. Como funciona un navegador normal. Es el comportamiento nativo del dispositivo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: