在ionic 2中禁用移动硬件后退按钮

时间:2018-08-02 07:45:49

标签: javascript angular ionic2

我们一直在研究业务应用程序,并且面临一个非常奇怪的问题。每当我们按下移动硬件后退按钮时,应用程序GUI就会受到干扰。我们已经在这个问题上花了很多时间,但是问题仍然存在。

我当时正在考虑禁用后退按钮,但我不知道该如何在ionic 2中执行此操作。有人可以告诉我如何在ionic 2或angular中禁用硬件后退按钮吗?

3 个答案:

答案 0 :(得分:1)

一般来说,我认为禁用或覆盖本机功能不是一个好主意,因为它可能会使用户感到困惑,但是应该可以使用registerBackButtonAction方法为后退按钮定义自定义行为在Platform API中:

https://ionicframework.com/docs/api/platform/Platform/#registerBackButtonAction

答案 1 :(得分:0)

您可以使用registerBackButtonAction

读取离子设备Document

import { App } from 'ionic-angular';

constructor(public  app: App) {}

this.platform.registerBackButtonAction(() => {
    let nav = app.getActiveNavs()[0];
    if (nav.canGoBack()){ //Can we go back?
        nav.pop();
    } else {
        const alert = this.alertCtrl.create({
            title: 'App termination',
            message: 'Do you want to close the app?',
            buttons: [{
                text: 'Cancel',
                role: 'cancel',
                handler: () => {
                    console.log('Application exit prevented!');
                }
            },{
                text: 'Close App',
                handler: () => {
                    this.platform.exitApp(); // Close this application
                }
            }]
        });
        alert.present();
    }
});

答案 2 :(得分:0)

实际上,后退按钮在android apk上工作正常,但在PWA中会产生问题。