2016-10-27 4 views
0

J'ai le code suivant où si l'utilisateur appuie sur le bouton de retour sur son appareil, je veux lui montrer une fenêtre avant qu'il ne soit en mesure de quitter l'application. Cependant, cela ne fonctionne pas pour moi. La boîte d'alerte est affichée mais l'application se ferme également.Cordova retour bouton déclenche l'écouteur d'événement, mais l'application se ferme quand même

document.addEventListener("deviceready", function() { 
    document.addEventListener("backbutton", function(e) { 
     e.preventDefault(); 
     $scope.alertDialog.show(); 
    }, false); 
}, false); 

Version Cordova: 6.4.0 Et avant que quelqu'un apporte dehors - cordova.js est inclus dans l'index page html. UI est construit en utilisant onsenUI avec angularJS v1.

+0

Sur la question plus débogage est pas cordova, il est en fait avec onsen-ui. Jetez un oeil à - https://onsen.io/v2/docs/guide/angular1/#device-back-button J'essaie toujours de résoudre car il y a plusieurs écouteurs dans la documentation onsen ui. –

Répondre

1

Compris. How to control android backbutton routes? La dernière réponse 0 votée est la bonne.

Vous pouvez le contrôler avec "disableDeviceBackButtonHandler" après l'événement ons.ready. Après cela, ajoutez un écouteur d'événement pour le bouton de retour et faites ce que vous voulez.

ons.ready(function() { 
    ons.disableDeviceBackButtonHandler(); 

    // Use Cordova handler 
    window.document.addEventListener('backbutton', function() { 
    // Handle backbutton event 
    }, false); 
}); 
0

Vous pouvez faire comme suit:

document.addEventListener("deviceready", function() { 
var backbutton=0; 
    document.addEventListener("backbutton", function(e) { 
     if(backbutton==0){ 
      backbutton++; 
       $scope.alertDialog.show(); 
      // window.plugins.toast.showShortCenter('Press again to exit'); 
      $timeout(function(){backbutton=0;},5000); 
     }else{ 
      navigator.app.exitApp(); 
     } 
    }, false); 
}, false); 

espère que cela vous aidera.

+0

Le problème est lié à l'interface utilisateur de onsen. Toujours pas capable de comprendre cependant. https://onsen.io/v2/docs/guide/angular1/#device-back-button –