HarmonyOS 倒计时手机切到后台后检测不到?

setInterval和TextTimer做的倒计时功能,当app切换到后台后就失效了!如何保持在后台运行

阅读 629
1 个回答

还请试下使用短时任务:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-backgroundtaskmanager-V5\#backgroundtaskmanagerrequestsuspenddelay

如:

let myReason = 'test requestSuspendDelay';
try {
  let delayInfo = backgroundTaskManager.requestSuspendDelay(myReason, () => {
    console.info("Request suspension delay will time out.");
  })
  let id = delayInfo.requestId;
  let time = delayInfo.actualDelayTime;
  console.info("The requestId is: " + id);
  console.info("The actualDelayTime is: " + time);
  setInterval(()=>{
    this.intervalN++;
    console.info("The requestId is: " + this.intervalN);
  },1000)
} catch (error) {
  console.error(`requestSuspendDelay failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进