2017-05-05 6 views
1

Dans mon App Ionic 2, le bouton de retour matériel (Android, Windows) devrait fonctionner comme il le fait par défaut, à une exception près: Il ne devrait pas quitter l'application s'il y a Rien à y retourner.Ionic 2 - Empêcher l'application de sortie sur le bouton retour matériel

Je sais que je peux le faire comme ceci:

platform.ready().then(() => { 
    platform.registerBackButtonAction(() => { 
     // Default action with the exception here 
    },); 
}); 

Mais comment dois-je faire exactement maintenant, pour le faire fonctionner par défaut, mais avec cette exception? Dans le ionic 1 docs of that function, il y a les priorités des différents cas. Mais je pense que cela a changé en ionique 2 !? Parce que dans le ionic 2 docs il n'y a pas ces priorités. J'ai essayé de mettre la priorité à 99, parce que tout devrait fonctionner par défaut. Mais maintenant le sidemenu ne peut plus être fermé et c'est pourquoi je pense que les priorités du ionique 1 ont été changées, car dans les docs ioniques, la priorité du sidemenu est 150 et c'est pourquoi ma fonction doit être ignorée. Quelqu'un peut-il m'aider avec?

+0

lié à celui-ci: https://stackoverflow.com/questions/40539573/ionic-2-cancel-hard-back-button-override-to-close-app-on-back-button-when -use – ApriOri

Répondre

9
constructor(public nav: NavController, private platform: Platform, public menu: MenuController) { 
     platform.ready().then(() => { 
      // Okay, so the platform is ready and our plugins are available. 
      // Here you can do any higher level native things you might need 

      platform.registerBackButtonAction(() => { 
      if(this.menu.isOpen()){ 
       this.menu.close() 
      } 
      else if(this.nav.canGoBack()){ 
       this.nav.pop(); 
      }else{ 
       //don't do anything 
      } 
      }); 
     }); 

     } 
+0

Non ce n'est pas l'opération par défaut ... Le sidemenu par exemple ne se ferme plus avec votre code. – Nono

+0

pour ce cas, j'ai modifié le code. S'il vous plaît vérifier que si cela correspond à votre cas – nabin