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)