我在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();
})
}
答案 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();
});
}