Saltar al contenido

NativeScript maneja el evento del botón Atrás

Basta ya de investigar por internet ya que has llegado al espacio adecuado, tenemos la respuesta que necesitas hallar y sin liarte.

Solución:

También estoy usando NativeScript con Angular y esto parece funcionar bastante bien para mí:

import  RouterExtensions  from "nativescript-angular";
import * as application from "tns-core-modules/application";
import  AndroidApplication, AndroidActivityBackPressedEventData  from "tns-core-modules/application";

export class HomeComponent implements OnInit 
  constructor(private router: Router) 
    
  ngOnInit() 
    if (application.android) 
      application.android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => 
        if (this.router.isActive("/articles", false)) 
          data.cancel = true; // prevents default back button behavior
          this.logout();
        
      );
    
  

Tenga en cuenta que conectarse a backPressedEvent es algo global, por lo que deberá verificar la página en la que se encuentra y actuar en consecuencia, según el ejemplo anterior.

import  Component, OnInit  from "@angular/core";
import * as Toast from 'nativescript-toast';
import  Router  from "@angular/router";
import * as application from 'application';

@Component(
  moduleId: module.id,
  selector: 'app-main',
  templateUrl: './main.component.html',
  styleUrls: ['./main.component.css']
)
export class MainComponent 
  tries: number = 0;
  constructor(
    private router: Router
  ) 
    if (application.android) 
      application.android.on(application.AndroidApplication.activityBackPressedEvent, (args: any) => 
        if (this.router.url == '/main') 
          args.cancel = (this.tries++ > 0) ? false : true;
          if (args.cancel) Toast.makeText("Press again to exit", "long").show();
          setTimeout(() => 
            this.tries = 0;
          , 2000);
        
      );
    
  

Puntuaciones y reseñas

Ten en cuenta dar visibilidad a esta sección si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *