带有Ionic 4的Android上的硬件后退按钮不适用

时间:2019-11-06 14:49:00

标签: android ionic-framework ionic4 ionic-native

我在android上遇到硬件后退按钮的问题。我正在使用Ionic CLI 4.12.0 当用户在主页上并单击“后退”按钮时,我想退出该应用程序。但是后退按钮事件并未触发。它导航到登录页面,然后重新启动应用程序。我在我的应用程序中使用“标签”模板。我已经尝试过许多关于stackoverflow的答案,它们声称可以解决类似的问题。我在应用程序组件中有如下设置代码:



@ViewChild(IonRouterOutlet) routerOutlet: IonRouterOutlet;

  constructor(private platform: Platform){
      this.platform.backButton.subscribeWithPriority(0, () => {
      console.log("back button clicked");
      navigator["app"].exitApp();
})
}

2 个答案:

答案 0 :(得分:0)

最后我找到了我的问题的答案:


  ionViewDidEnter() {
    document.addEventListener("backbutton",function(e) {
      console.log("disable back button called from tab 1")
    }, false);
}

答案 1 :(得分:0)

我有一个带有菜单的简单应用,这是我的解决方案: 1)在app.components.ts中,我实现了硬件后退按钮以返回到每个页面:

constructor(
    private platform: Platform,
    private splashScreen: SplashScreen,
    private statusBar: StatusBar,
    private nav: NavController
  ) {
    this.initializeApp();
  }

initializeApp() {
    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();
      this.platform.backButton.subscribeWithPriority(1, () => {
        this.nav.back();
      });
    });
  }

2)home.page.ts中的此附加代码用于使用硬件后退按钮(优先级)关闭应用程序:

  ngOnInit() {
    this.platform.backButton.subscribeWithPriority(2, () => {
      console.log('BACK button pressed');
      navigator['app'].exitApp();
    });
  }