Javascript React Native:应用程序关闭时是否有回调函数?
我有一个setInterval,即使你关闭(而不是退出)应用程序,它也会一直运行。我想在我的应用程序关闭或设备处于睡眠状态时调用函数,以便清除设置间隔。AppState是您的朋友!看一看这张照片 因此,在存在setTimeout的组件中,只需要AppState并添加如下事件侦听器:Javascript React Native:应用程序关闭时是否有回调函数?,javascript,react-native,Javascript,React Native,我有一个setInterval,即使你关闭(而不是退出)应用程序,它也会一直运行。我想在我的应用程序关闭或设备处于睡眠状态时调用函数,以便清除设置间隔。AppState是您的朋友!看一看这张照片 因此,在存在setTimeout的组件中,只需要AppState并添加如下事件侦听器: AppState.addEventListener('background', this.handlePutAppToBackground); AppState.addEventListener('inactive'
AppState.addEventListener('background', this.handlePutAppToBackground);
AppState.addEventListener('inactive', this.handlePutAppToBackground);
handlePutAppToBackground()现在将成为组件中的一个方法,您可以在其中调用clearTimeout(…)itinance已关闭。答案实际上是使用
AppState.addEventListener('change', state => {
if (state === 'active') {
// do this
} else if (state === 'background') {
// do that
} else if (state === 'inactive') {
// do that other thing
}
});
这仅在iOS上,在Android上不起作用这在您关闭应用程序时不会触发,仅在您最小化应用程序或更改appsdocs for AppState时才会触发,不包括关闭应用程序。当您最小化应用程序或更改应用程序时,它会运行
background
状态-处理该应用程序状态。如果“关闭”应用程序,AppState不会触发任何更改