Expo.js:当我的应用进入后台时捕获事件?

时间:2018-09-11 05:38:57

标签: react-native expo

如果我正在使用我的应用程序,然后使用主页按钮,应用程序切换器等将其关闭,是否有办法在检测到此事件时可靠地运行某些代码?我想执行一些任务,例如取消计时器,安排通知等。

1 个答案:

答案 0 :(得分:3)

您可以使用“ react-native”提供的AppState跟踪应用的状态

通过使用AppState.currentState,您将知道应用程序处于前景背景有效还是无效< / em>。如果您想在状态变化时执行某些任务,则可以使用AppState提供的事件监听器。

您可以在Component中添加以下逻辑以完成任务-

componentDidMount() {
  AppState.addEventListener('change', this.handleStateChange);
}

componentWillUnmount() {
  AppState.removeEventListener('change', this.handleStateChange);
}

handleStateChange会在应用从当前状态作为参数传递时,每次从前景移动到背景(反之亦然)时调用。

有关更多参考,请参见docs

希望有帮助。