当用户离开应用程序时,Ionic 2执行方法

时间:2016-12-29 12:04:07

标签: ionic2

我正在尝试在用户离开应用时执行方法。我尝试了一切:

ionViewWillUnload() {
  console.log("Wlill unload");
  this.leaveRoom();
}

onDestroy() {
  console.log("DESTROY");
  this.leaveRoom();
}

ionViewWillLeave() {
  this.leaveRoom();
}

不幸的是,当用户关闭应用程序或用户刷新页面时,它们不会被执行。

有什么想法吗?

2 个答案:

答案 0 :(得分:12)

  1. 导入平台:

    import { Platform } from 'ionic-angular';

  2. 将平台添加到构造器:

    constructor(public navCtrl: NavController, platform: Platform)

  3. 订阅平台pauseresume

         platform.ready().then(() => {
            this.platform.pause.subscribe(() => {
                console.log('[INFO] App paused');
            });
    
            this.platform.resume.subscribe(() => {
                console.log('[INFO] App resumed');
            });
        });
    

答案 1 :(得分:0)

我认为你在寻找什么可以在这里找到:

http://cordova.apache.org/docs/en/6.x/cordova/events/events.html#endcallbutton

特别是这个事件:

function onEndCallKeyDown() {
    // Handle the end call button
}

为了使事件发挥作用,您必须首先声明此侦听器:

document.addEventListener("endcallbutton", onEndCallKeyDown, false);

onPause事件:

document.addEventListener("pause", onPause, false);

function onPause() {
    // Handle the pause event
}

onResume事件

document.addEventListener("resume", onResume, false);

function onResume() {
    // Handle the resume event
}

希望它有所帮助!