ionic

Utilizando o botão voltar nativo do Android no Ionic

Basta adicionar o trecho de código abaixo no construtor do arquivo app.component.ts de seu projeto. Obviamente, alterando os nomes das páginas e características que achar necessário.

this.platform.ready().then(() => {
  var lastTimeBackPress = 0;
  var timePeriodToExit = 2000;
//Registrando a ação de pressionar o botão voltar
  this.platform.registerBackButtonAction(() => {
    // obtem a pagina ativa
    let view = this.nav.getActive();
    if (view.instance instanceof PaginaInicial) {
      if (new Date().getTime() - lastTimeBackPress < timePeriodToExit) {
          this.platform.exitApp(); //Sair do app
      } else {
        let toast = this.toastCtrl.create({
          message: 'Toque novamente para sair.',
          duration: 2000,
          position: 'bottom',
        });
        toast.present();     
        lastTimeBackPress = new Date().getTime();
      } //Tratamento das demais páginas
    } else if (
         view.instance instanceof PrimeiraPagina 
         || view.instance instanceof SegundaPagina
         || view.instance instanceof TerceiraPagina
    ) {
      this.openPage(this.pages[0]);
    } else {
      this.nav.pop({}); // go to previous page
    }
  });
});

É um script bem básico mas pode ser um bom ponta pé inicial para quem precisa dessa funcionalidade no app.

About the author

Comments

    1. Olá Dieyson, a Tab é vista como uma view no ionic. Com o objeto ViewController injetado no construtor você consegue saber qual view está sendo visualizada no momento e assim manipular o botão voltar conforme a especificidade de cada página.

      Espero ter ajudado,
      Sóstenes Dias

Deixe uma resposta

O seu endereço de email não será publicado.