当应用程序在后台打开超过 30 分钟时,Cordova 会做一些事情
Cordova do something when the app has been open in the background for more than 30 minutes
我正在使用 React 和 Cordova 构建混合应用程序。我需要在应用程序在后台关闭 30 分钟后呈现特定组件。
我有两个事件监听器
"pause" 检测应用程序是否在后台打开。
这里我设置localStorage为当前date/time.
"resume"当应用程序在后台打开后打开。
在这里,我获取当前时间,本地存储的时间,并检查两者之间的时间是否为 30 分钟。这就是我的问题所在,它总是 returns 错误。与 react/cordova 相比,我的问题更 javascript 相关。有人可以解释我做错了什么吗?
// 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
我正在使用 React 和 Cordova 构建混合应用程序。我需要在应用程序在后台关闭 30 分钟后呈现特定组件。
我有两个事件监听器
"pause" 检测应用程序是否在后台打开。 这里我设置localStorage为当前date/time.
"resume"当应用程序在后台打开后打开。 在这里,我获取当前时间,本地存储的时间,并检查两者之间的时间是否为 30 分钟。这就是我的问题所在,它总是 returns 错误。与 react/cordova 相比,我的问题更 javascript 相关。有人可以解释我做错了什么吗?
// 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