2013-01-08 9 views
6

Sto costruendo la mia applicazione tramite PhoneGap Build online. Voglio cambiare il comportamento predefinito di pulsante IndietroArresta l'uscita sul pulsante Indietro Android in PhoneGap - Build

$(document).ready(function(e) { 
    document.addEventListener("backbutton", onBackKeyDown, false); 
}); 

function onBackKeyDown(){ 
    alert('back'); 
    return false; 
} 

non il suo lavoro ho cercato per soluzione. Ma, tutti mostrano di cambiare i codici java nella libreria PhoneGap, che non è nel mio caso. Invio la mia domanda in un formato .zip con config.xml all'interno.

E 'possibile con config.xml?

+0

Buon punto. +1 –

risposta

6

Prima di tutto ho fatto di sbagliato come sottolineato dal @Mejo, Grazie. Ecco la soluzione al problema.

Fase 1: includere uno script HTML non hanno bisogno fisicamente all'interno dell'applicazione zip, come incluso automaticamente dal PhoneGap Costruire

<script src="cordova.js"></script> o <script src="phonegap.js"></script> nessuno di essi funzionerà bene.

Fase 2: Aggiungere questo script per ottenere dispositivo pronto chiamata:

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

Fase 3: Aggiungi listener di eventi a pulsante Indietro e aggiungere il codice per quella chiamata :

function onDeviceReady(){ 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 
function onBackKeyDown(){ 
    alert('back'); 
    return false; 
} 

Ancora adesso non funzionerà f non si imposta la preferenza di minSDK di applicazione da parte config.xml

Fase 4: Aggiungere questo a regione preferenza di config.xml

<preference name="android-minSdkVersion" value="5" />

Per riferimento : http://community.phonegap.com/nitobi/topics/how_to_handle_back_button_in_android

3

sua ha detto in Cordova documentazione API che

In genere, si vuole allegare un listener di eventi con document.addEventListener volta che si riceve 'deviceready' caso in cui il PhoneGap.

Quindi modificare il codice come questo

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

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods 
function onDeviceReady() { 
    // Register the event listener 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 

// Handle the back button 
function onBackKeyDown() { 
     //Your backbutton code 
} 
+0

Grazie @Mejo per la tua risposta, in realtà c'è un'altra cosa che pubblicheremo la risposta. –

Problemi correlati