Vous pouvez capturer l'événement de bouton BACK dans PhoneGap, mais pas le bouton HOME (c'est une mauvaise pratique Android car il y a une attente claire de l'utilisateur quelle que soit l'application que vous utilisez à propos de ce que fait la touche HOME: retour à votre écran d'accueil! Vous ne voulez pas remplacer cette fonctionnalité).
Je vais vous diriger vers des morceaux de code dans PhoneGap (source la plus récente! Tirer de github pour la dernière version du framework phonegap) pour vous guider.
D'abord, il y a un 'BrowserKey' objet java lié au JavaScript global 'BackButton':
http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/DroidGap.java#L291
La définition de cette classe est ici: http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/BrowserKey.java
La première chose que vous devez faire dans votre application (je vous suggère de l'exécuter lors de l'initialisation de l'application) est de faire savoir au côté natif du framework que vous êtes en train de surcharger la fonctionnalité du bouton BACK. Vous devez faire cela en JavaScript avec un simple appel:
BackButton.override();
A partir de là, vous pouvez joindre un gestionnaire d'événements pour exécuter la logique à chaque fois que l'événement « backKeyDown » du document sur la touche BACK est touché. Quelque chose comme cela devrait fonctionner:
document.addEventListener('backKeyDown', function(e) {
alert('you hit the back key!');
}, false);
Comme un additif, voici le code JavaScript qui enveloppe l'événement bouton retour envoi: http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js
En fait, après avoir appelé BackButton.override(), le côté natif de la framework appellera window.keyEvent.backTrigger() à chaque fois que le bouton BACK est touché.
pouvez-vous être plus précis à la question –
avoir une application pour Android en utilisant phonegap. Je veux capturer le clic du bouton HOME et RETOUR natif du téléphone Android dans la page html pour quitter/revenir en arrière avec élégance. – Newbee