使用ionic 4,尝试在应用程序使用硬件后退按钮按下事件关闭之前向用户发出退出警报消息

2024-01-10

在我的最初阶段。我试图给出“退出应用程序 - 是/否?” ‘ 当用户从登录页面或主页(登录后)按下硬件后退按钮时发出警报。我面临的问题是,当我按下后退按钮时,退出警报消息会出现在每个页面上,而不仅仅是在登录或主页上。此外,无论我是否按警报框中的“否”选项,都会自动向后导航。 ] 如果做错了什么,我深表歉意,这是我在这里的第一篇文章。 我使用下面附加的代码-

import { Component, OnInit } from '@angular/core';
import{ Router } from '@angular/router';//
import { AlertController } from '@ionic/angular';
import { Subscription } from 'rxjs';

@Component({
  selector: 'app-streams-list',
  templateUrl: './streams-list.page.html',
  styleUrls: ['./streams-list.page.scss'],
})
export class StreamsListPage implements OnInit {

  subscripcion: Subscription;

  constructor(
    public router:Router,
    public alertController: AlertController) {}

  ngOnInit() {

    this.getBackButtonClick();

  }


  getBackButtonClick(){
    this.subscripcion = this.platform.backButton.subscribe(()=>{
        //navigator['app'].exitApp();
        this.ClosingApp();
    });
 }



  async ClosingApp()
 {
      let alert = await this.alertController.create({
      header: 'Confirm',
      message: 'Message to confirm!!!',
      buttons: [{
        text: "OK",
        handler: () => { this.exit() }
      }, {
        text: "Cancel",
        role: 'cancelar',
      }]
    })
     alert.present();
 }

 exit()
 {
  navigator["app"].exitApp();
 }


}

您可以尝试这种基于路由的方法。在app.component.ts

constructor(private router: Router){}

在你的里面getBackButtonClick()

 getBackButtonClick(){
  this.subscripcion = this.platform.backButton.subscribe(()=>{
   if (this.route.url == '/login' || this.route.url == '/home'){ //please change if your path name is different for login and home
     this.ClosingApp();
    }
 });
}

此外,您需要取消订阅此

  ngOnDestroy() {
   this.platform.backButton.unsubscribe();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用ionic 4,尝试在应用程序使用硬件后退按钮按下事件关闭之前向用户发出退出警报消息 的相关文章

随机推荐

  • .val() 未从输入获取更新值

    我有两个输入字段 我试图通过单击按钮使用 jquery 获取它们的值 这似乎是一个非常简单的操作 但我一生都无法让它发挥作用 这是代码片段 Name
  • 累加值,例如通过扫描,但可以随着时间的推移重置累加器

    我有一个可观察的 obs1 它代表一段时间内的数字流 我需要累积这些数字的总和并逐步发出它 即 很长一段路要说我需要使用scan操作员 然后是第二个 Observable obs2 代表某种 重置时间 换句话说 当obs2发出 我必须重置我
  • Opengl 深度缓冲区和剔除

    OpenGL 中使用背面剔除和深度缓冲区有什么区别 背面剔除是指 OpenGL 确定哪些面背对观看者 因此不可见 想象一个立方体 无论你如何旋转立方体 三个面始终是不可见的 找出这些面是哪些面 将它们从要绘制的多边形列表中删除 这样您就将绘
  • 打开 QDialog 并保存最后的状态

    我正在尝试打开一个QDialog from a QMainWindow 并且在关闭 QDialog之后 如果我需要再次打开它 它必须打开并显示与我关闭它时相同的信息 这是代码QMainWindow class A QMainWindow d
  • 从 Azure DevOps Python Artifacts feed 进行 pip 安装不起作用

    当我尝试从 Azure DevOps Artifacts feed 安装包时 出现错误 Looking in indexes https pypi org simple https pkgs dev azure com company co
  • 如何将可变数量的参数传递给 lambda 函数

    我正在尝试将可变数量的参数传递给 lambda 函数 lambda 函数中接受可变数量参数的原型是什么 我应该写一个命名函数而不是 lambda 吗 std once flag flag template
  • 适用于所有 Android 设备的 Android Badger

    你好 我有 android 应用程序 我需要将 badger 添加到应用程序启动器我在互联网上搜索并找到了这个库 compile me leolin ShortcutBadger 1 1 4 aar 可以工作 但不适用于我在三星和 HTC
  • C 中的简单 lua_yield 无法从 Lua 正确恢复

    我刚刚开始深入研究 lua 协程与 C 我对我认为应该是我能想到的最简单的例子有疑问 The C include
  • Table2excel 插件不起作用

    我正在开发一个仪表板应用程序 我想实现 下载表为 xls 功能 在此链接上您可以看到表格的样子仪表板 http pasteboard co p82eqze png 我找到了一个library https github com rainabb
  • 按 lubridate 日期 %within% 间隔连接数据框

    我一直在练习和学习使用包含以下内容的列来处理 R 数据框lubridate数据类型 例如我的示例问题其他问题 https stackoverflow com questions 51407177 r lubridate split dura
  • Hadoop start-all.sh错误:没有这样的文件或目录

    成功创建名称节点后 我在尝试启动名称节点时遇到了这个问题 对我来说 它似乎试图记录到一个不存在的文件 如何更改设置以将脚本日志定向到正确的目录 bash 3 2 start all sh starting namenode logging
  • 如何在 Docker 第 3 部分教程中使用curl -4 http://localhost?

    使用 Docker 教程我被困在这部分 https docs docker com get started part3 run your new load balanced app https docs docker com get sta
  • 读取 Hadoop ArrayWritable 中包装的值

    我是 Hadoop 和 Java 的新手 我的映射器输出文本和 Arraywritable 我在读取 ArrayWritable 值时遇到问题 Unbale 将 get 值转换为整数 附上映射器和减速器代码 有人可以帮我纠正我的减速器代码以
  • 计算 PHP 数组中的日期

    我有这个数组 Array 0 gt Array x gt 2016 04 19 1 gt Array x gt 2016 05 25 2 gt Array x gt 2016 05 26 3 gt Array x gt 2016 05 27
  • std::tuple 用于不可复制和不可移动的对象

    我有一门删除了复制和移动向量的课程 struct A A int a data a A std cout lt lt A lt lt this lt lt lt lt data lt lt std endl A A const obj de
  • Maven SCR 插件 - 不生成 OSGI-INF 文件夹

    我的 SCR 插件无法正常工作 我已经尽可能多地进行了搜索 但只找到了与我需要使用的结构不相似的示例 下面是 POM 的片段 这些几乎是 CQ 项目原型生成的默认值 所有依赖项都在那里 所以可能不是这样 这是构建的输出 SLF4J Fail
  • CodeIgniter 2.x 会话和 Internet Explorer

    我在网上阅读了大量有关 CodeIgniter 及其会话和 Internet Explorer 问题的文章 其中很多内容似乎都以会话名称为中心 名称中没有下划线 这些文章似乎都是针对 CI 1 x 的 CI还存在这个问题吗 我尝试删除下划线
  • 英特尔伽利略裸机 UART

    我想编写一些 hello world 程序裸机申请于英特尔伽利略木板 当然 使用 UEFI 打印文本 到 UART 1 效果很好 但我想 手动 访问 UART 而不需要 UEFI 的任何帮助 在 QEMU 中我的代码运行良好 h file
  • 如何将 Spark 数据帧转换为 Polars 数据帧?

    我想知道如何将 Spark 数据帧转换为 Polars 数据帧 假设我在 PySpark 上有这段代码 df spark sql select from tmp 我可以使用以下命令轻松地将其转换为 pandas 数据框 toPandas 极
  • 使用ionic 4,尝试在应用程序使用硬件后退按钮按下事件关闭之前向用户发出退出警报消息

    在我的最初阶段 我试图给出 退出应用程序 是 否 当用户从登录页面或主页 登录后 按下硬件后退按钮时发出警报 我面临的问题是 当我按下后退按钮时 退出警报消息会出现在每个页面上 而不仅仅是在登录或主页上 此外 无论我是否按警报框中的 否 选