È possibile catturare l'evento del pulsante INDIETRO in PhoneGap, ma non il pulsante HOME (questa è una cattiva pratica Android in quanto vi è una chiara aspettativa da parte dell'utente indipendentemente dall'app che si sta utilizzando su ciò che fa il tasto HOME: invia torna alla schermata iniziale! Non si desidera ignorare questa funzionalità).
Vi dirò a pezzi di codice in PhoneGap (ULTIMA sorgente! Pull da github per l'ultima versione del framework phonegap) per la guida.
In primo luogo, v'è un oggetto Java 'BrowserKey' legata alla JavaScript 'BackButton' globale:
http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/DroidGap.java#L291
La definizione di questa classe è qui: http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/BrowserKey.java
La prima cosa che devi fare nella tua applicazione (ti suggerisco di eseguirlo durante l'inizializzazione dell'applicazione) è lasciare che il lato nativo del framework sappia che stai sovrascrivendo la funzionalità del pulsante BACK. Si potrebbe fare questo in JavaScript con una semplice chiamata:
BackButton.override();
Da lì in poi, è possibile collegare un gestore di eventi all'evento 'backKeyDown' del documento per eseguire la logica ogni volta il tasto BACK è colpito. Qualcosa del genere dovrebbe funzionare:
document.addEventListener('backKeyDown', function(e) {
alert('you hit the back key!');
}, false);
Come un addendum, ecco il codice JavaScript che avvolge l'evento pulsante indietro dispacciamento: http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js
In sostanza, dopo aver chiamato BackButton.override(), la parte originaria della framework chiamerà window.keyEvent.backTrigger() ogni volta che si preme il pulsante BACK.
fonte
2010-09-05 19:50:46
Puoi essere più specifico con la domanda –
avere un'applicazione per Android che utilizza PhoneGap. Voglio catturare il clic del pulsante HOME e INDIETRO nativo del telefono Android nella pagina html per uscire/tornare indietro con garbo. – Newbee