Domanda

C'è un modo con il quale siamo in grado di catturare lo scatto di casa e tornare pulsante nel file html in applicazione Android utilizzando PhoneGap / jQTouch / javascript?

Ho una domanda per Android utilizzando PhoneGap. Voglio catturare lo scatto di casa e tornare nativo tasto del telefono Android nella pagina html per uscire / tornare indietro con grazia.

È stato utile?

Soluzione

È possibile prendere l'evento tasto BACK in PhoneGap, tuttavia, non il tasto HOME (questa è una pratica Android male come v'è una chiara aspettativa utente indipendentemente dall'applicazione che si sta utilizzando su ciò che il tasto HOME fa: si manda indietro alla schermata iniziale! non si desidera ignorare questa funzionalità).

I vi guiderà a pezzi di codice in PhoneGap (ULTIME fonte! Tiro da github per l'ultima versione del framework PhoneGap) per la guida.

In primo luogo, v'è un oggetto Java 'BrowserKey' legata alla 'BackButton' JavaScript 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 vostra applicazione (vi suggerisco di eseguire questo durante l'inizializzazione dell'applicazione) è quello di lasciare il lato originario del quadro sa modo si sostituisce la funzionalità tasto 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 è successo. 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'invio dell'evento pulsante indietro: http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js

In sostanza, dopo aver chiamato BackButton.override (), la parte originaria del quadro chiamerà window.keyEvent.backTrigger () ogni volta che il tasto BACK è successo.

Altri suggerimenti

Questo esempio di codice funziona per PhoneGap 0.9.5 e versioni successive (testato su 0.9.6):

    document.addEventListener("menubutton", function () { 
        alert('Menu button');
    }, false);  

    document.addEventListener("searchbutton", function () { 
        alert('Search button');
    }, false);                      

    document.addEventListener("backbutton", function () { 
        alert('Back button');
    }, false);  

tasto Home non può essere gestito. Questo è riservato dal sistema.

Ho una domanda per Android utilizzando PhoneGap. Voglio catturare lo scatto di casa e tornare nativo tasto del telefono Android nella pagina html per uscire / tornare indietro con grazia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top