gpt4 book ai didi

javascript - 当应用程序在后台打开超过 30 分钟时,Cordova 会执行某些操作

转载 作者:行者123 更新时间:2023-11-28 03:35:21 25 4
gpt4 key购买 nike

我正在使用 React 和 Cordova 构建一个混合应用程序。我需要在应用程序在后台关闭 30 分钟后渲染特定组件。

我有两个事件监听器

  1. “暂停”,检测应用程序是否在后台打开。这里我将 localStorage 设置为当前日期/时间。

  2. 应用程序在后台打开后再次打开时“恢复”。在这里,我获取当前时间、本地存储的时间,并检查两者之间的时间是否为 30 分钟。这就是我的问题所在,它总是返回 false。我的问题更多的是与 javascript 相关,而不是与 React/Cordova 相关。有人可以解释我做错了什么吗?

// when the app is open in the backgroud 
document.addEventListener("pause", () => {
localStorage.setItem("appTimeout", Date.now());
},false);

// when you reopen the app
document.addEventListener("resume", () => {
setTimeout(() => {
const minutes = 1000 * 30 * 60;
const closeTime = localStorage.getItem("appTimeout");
if(Date.now() - Number(closeTime) >= minutes){
//render component
}
}, 0);
},false);

最佳答案

在经历了很多头痛之后,我最终使用了react-idle-timer来实现这一点。 https://www.npmjs.com/package/react-idle-timer

关于javascript - 当应用程序在后台打开超过 30 分钟时,Cordova 会执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57792533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com