2017-05-05 7 views
1

私のイオニア2アプリケーションでは、ハードウェアの戻るボタン(アンドロイド、ウィンドウ)は、デフォルトで実行しているように動作するはずです。戻って何もない。Ionic 2 - ハードウェアの戻るボタンの終了を防止する

私はこのようにそれを行うことができます知っている:

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

しかし、私はそれがデフォルトとしてではなく、この一つの例外を除いて動作させるために、まさに今それをどのように行う必要がありますか? ionic 1 docs of that functionには、異なるケースの優先順位があります。しかし、私はそれがイオン2で変わったと思う! ionic 2 docsにはこれらの優先順位がないためです。私は99に優先順位を設定しようとしました。なぜならすべてがデフォルトとして機能するからです。しかし、今度はサイドメニューをもう閉じることができず、イオン1の優先順位が変わったと思うのはなぜですか?なぜなら、イオン1文書では、サイドメニューの優先順位は150であり、なぜ私の機能を無視するべきなのかが分かります。誰かが私を助けることができますか?これに関連し

+0

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

答えて

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

これはデフォルト操作ではありません。たとえば、sidemenuはコードでもう閉じません。その場合は – Nono

+0

、コードを編集しました。あなたのケースに合っているかどうか確認してください – nabin

関連する問題