Angular WPA 如何知道应用程序是否在后台
Angular WPA How to know if the application is in background
我使用 SetTimeout 每 10 秒从 Web api 刷新一次数据。我在 onDestroy 中停止它(干净)。完美工作
但是,由于我的应用程序是 WPA,我意识到,当我按下 phone 的主页按钮时,该应用程序仍在进行刷新调用。有什么方法(属性 或事件)可以知道应用程序何时在后台 运行,这样我就可以停止我的计时器。
谢谢你的时间
终于找到了一些东西:只需使用 HostListener 来观看 window focus/blur 事件,然后 enable/disable 我的计时器。
@HostListener('window:focus', ['$event'])
onFocus(event: FocusEvent): void {
this.nasTimer.start();
}
@HostListener('window:blur', ['$event'])
onBlur(event: FocusEvent): void {
this.nasTimer.stop();
}
我使用 SetTimeout 每 10 秒从 Web api 刷新一次数据。我在 onDestroy 中停止它(干净)。完美工作
但是,由于我的应用程序是 WPA,我意识到,当我按下 phone 的主页按钮时,该应用程序仍在进行刷新调用。有什么方法(属性 或事件)可以知道应用程序何时在后台 运行,这样我就可以停止我的计时器。
谢谢你的时间
终于找到了一些东西:只需使用 HostListener 来观看 window focus/blur 事件,然后 enable/disable 我的计时器。
@HostListener('window:focus', ['$event'])
onFocus(event: FocusEvent): void {
this.nasTimer.start();
}
@HostListener('window:blur', ['$event'])
onBlur(event: FocusEvent): void {
this.nasTimer.stop();
}