Récupération de la touche arrière sur PhoneGap pour Android

J'utilise PhoneGap pour le développement d'applications Android et je suis coincé lors de la capture de la touche de retour sur l'appareil! J'ai tout essayé à partir d'autres threads et de la page wiki officielle, mais aucun ne semble fonctionner! 🙁

Je pourrais capturer des touches de menu et de recherche avec keyEvent.menuTrigger et keyEvent.searchTrigger mais ne semblent pas capturer le bouton de retour! J'ai essayé keyEvent.backTrigger de manière similaire, mais cela n'a pas marché! L'ajout d'un auditeur d'événement pour l'événement 'backKeyDown' ne fonctionne pas non plus!

Voici mon code:

BackButton.override(); document.addEventListener('backKeyDown', function(e) { console.log('Caught it!'); }, false); keyEvent.searchTrigger= searchPressed; keyEvent.menuTrigger=menuPressed; keyEvent.backTrigger=backPressed; 

La console dit:

 Line 1 : Uncaught TypeError: Cannot call method 'backTrigger' of undefined 

Cela ne signifie-t-il pas quelque chose.backTrigger () est appelé, mais l'objet n'existe pas. Qu'est-ce que c'est quelque chose? Ou est-ce qu'il y a un moyen de contourner?

Essayé de même avec KeyEvent, sans chance! Aidez-nous!

Merci d'avance! 🙂

La page PhoneGap Wiki sur le gestionnaire de bouton Android a été mise à jour pour PhoneGap 0.9.5:

 // This is your app's init method. Here's an example of how to use it function init() { document.addEventListener("deviceready", onDR, false); } function onDR(){ document.addEventListener("backbutton", backKeyDown, true); //boot your app... } function backKeyDown() { // do something here if you wish // alert('go back!'); } 

Fonctionne pour moi avec PhoneGap 0.9.6

Vous pouvez également gérer d'autres boutons avec menus et résultats de recherche .

Si vous utilisez le niveau api au-dessus de 2.0, vous pouvez passer outre à la fonction suivante

 @Override public void onBackPressed() { // do something on back. return; } 

Pour suivre l'événement pressé du bouton arrière.

Sinon, vous pouvez annuler l'événement sur l'activité de l'activité et suivre le bouton Retour

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // do something on back. return true; } return super.onKeyDown(keyCode, event); } 

Voici comment je le fais dans PhoneGap w / xuijs:

 // inside your 'deviceready' handler if (device.platform == 'Android') { BackButton.override(); // add backkeyDown handler x$(document).on('backKeyDown', onBackKeyDown); } // back button handler function onBackKeyDown() { // do something // or // BackButton.exitApp(); }