demos jquery-mobile cordova

jquery-mobile - demos - jquery mobile structure



Phonegap Android Back Button-cerrar la aplicación con el botón Atrás en la página de inicio (4)

Necesitaría hacer un seguimiento de cuándo se muestra la página de inicio. Cuando sepa que está en la página de inicio, llame a:

navigator.app.exitApp();

Estoy desarrollando una aplicación de Android usando Jquery Mobile / Phonegap. Tengo el siguiente código para controlar el botón Atrás del teléfono:

document.addEventListener("backbutton", backKeyDown, true); function backKeyDown() { // Call my back key code here. $.mobile.changePage("#homepage", "slideup"); }

Todo esto funciona bien, pero me gustaría que la aplicación se cierre al presionar el botón Atrás solo en la página de inicio, ¿es posible?


Si no desea usar jQuery Mobile, cambie $.mobile.activePage.is(''#homepage'') a document.getElementById(''#homepage'') en la respuesta @Spadar Shut, como en el siguiente código:

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady(){ document.addEventListener("backbutton", function(e){ if(document.getElementById(''#homepage'')){ e.preventDefault(); navigator.app.exitApp(); } else { navigator.app.backHistory() } }, false); }

De esta manera, no es necesario descargar el galimatías de Jquery Mobile solo para este propósito. Además, activePage está en desuso a partir de JQuery mobile 1.4.0 y se eliminará de 1.5.0. ( Use el método getActivePage () del widget de contenedor de página en su lugar )


Actualización: esto ha dejado de funcionar con una última actualización de Phonegap (supuestamente). Siéntase libre de ofrecer una solución de trabajo si lo sabe.

Así es como lo hago:

document.addEventListener("backbutton", function(e){ if($.mobile.activePage.is(''#homepage'')){ /* Event preventDefault/stopPropagation not required as adding backbutton listener itself override the default behaviour. Refer below PhoneGap link. */ //e.preventDefault(); navigator.app.exitApp(); } else { navigator.app.backHistory() } }, false);

Para obtener más información, aquí puede encontrar la documentación relacionada con un ejemplo completo: http://docs.phonegap.com/en/2.0.0/cordova_events_events.md.html#backbutton


document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { document.addEventListener("backbutton", onBackKeyDown, false); } function onBackKeyDown() { navigator.app.exitApp(); }

Gracias spader.