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

tol*_*ced 5 react-native expo

如果我正在使用我的应用程序,然后使用主页按钮、应用程序切换器等切换出它,有没有办法在检测到此事件时可靠地运行一些代码?我想做一些任务,比如取消定时器、安排通知等等。

Arp*_*dia 6

AppState您可以使用“react-native”提供的功能来跟踪应用程序的状态

通过使用,AppState.currentState您将知道该应用程序是否处于前台后台活动或非活动状态。如果您想在状态更改时执行某些任务,您可以使用AppState.

您可以在组件中添加以下逻辑来完成它 -

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

componentWillUnmount() {
  AppState.removeEventListener('change', this.handleStateChange);
}
Run Code Online (Sandbox Code Playgroud)

handleStateChange每次应用程序从前台移动到后台时都会调用该方法,反之亦然,并将应用程序的当前状态作为参数传递。

如需进一步参考,请参阅文档

希望有帮助。