QAppState 应用前后台检测(Android only)

API兼容性:
QRN:v3.19.0
Android:60001293

QAppState 提供 App 级别的状态监听,可以通过他来监听应用的前后台状态(Rn 中的 AppState 在 Adr 中仅能监听页面生命周期级别的切入切出)。

使用方法与 AppState 一致 (IOS 直接使用 AppState 即可)

注意,页面跳转后如非必要,请手动注销监听,否则监听会一直回调(页面跳转并不会执行 componentWillUnmount

引入

import { QAppState } from 'qunar-react-native';

API

QAppState.addEventListener(type, handler: function)

添加一个监听函数,用于监听应用状态的变化。type 参数应填change。

QAppState.removeEventListenertype, handler: function)

移除一个监听函数。type 参数应填change。

props

QAppState.currentState

获取当前的前后台状态

使用说明

import { QAppState } from 'qunar-react-native';

class QAppStateExample extends Component {

  state = {
    appState: QAppState.currentState
  }

  componentDidMount() {
    QAppState.addEventListener('change', this._handleAppStateChange);
  }

  componentWillUnmount() {
    QAppState.removeEventListener('change', this._handleAppStateChange);
  }

  _handleAppStateChange = (nextAppState) => {
    if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {
      console.log('App has come to the foreground!')
    }
    this.setState({appState: nextAppState});
  }

  render() {
    return (
      <Text>Current state is: {this.state.appState}</Text>
    );
  }

}