防止计时器在后台模式下暂停

时间:2017-11-12 13:01:31

标签: angular cordova typescript momentjs ionic3

我的Ionic3应用程序中有一个计时器。计时器与setInterval完美匹配,但当我关闭应用程序进入睡眠模式时,计时器停止运行。在将我的应用程序再次带到fourground之后,计时器继续 - 但是他从之前暂停的地方开始。

如何防止定时器暂停?如果我将应用程序置于后台?

我的组件

time: any;

displayTime() {
  this.time = moment().hour(0).minute(0).second(this.counter++).format('HH : mm : ss');
}

startTime() {
  if(this.runClock == null) {
    this.runClock = setInterval(() => {
      this.displayTime();
    },1000)
  }
}

在我的HTML中,我致电{{ time }}

https://ionicframework.com/docs/native/background-mode/之类的插件无效,因为App Store会使用此插件拒绝应用。

还有其他想法吗?

1 个答案:

答案 0 :(得分:3)

由于在后台模式下运行的应用程序可能是rejected in App Store(并且有充分的理由,因为没有人需要一个不会耗尽电池的应用程序),这应该在不依赖{的情况下完成{1}}计数器和后台模式:

setInterval