Я сделал это с Android и Java, используя жизненный цикл Android.Это должно работать в React Native (см. EDIT ниже).форум developer.android.com: эта страница
Вкратце:
- onCreate (): пользователь впервые открывает ваше приложение
- onStart (): приложение перезапускается
- onResume (): пользователь открывает ваше приложение, когда оно было активным в фоновом режиме
- onPause (): приложение выходит из фокуса
- onStop (): приложение больше не видно
- onDestroy (): действие будет уничтожено
![enter image description here](https://i.stack.imgur.com/4cbIX.png)
InВ вашем случае вы должны использовать onPause ()
Итак, небольшой фрагмент кода для в java:
@Override
public void onPause() {
super.onPause();
//do something
}
EDIT:
Thisответ рассказывает, как обнаружить onPause и onResume в Reacte Native.
Код в этом ответе:
import React, {Component} from 'react'
import {AppState, Text} from 'react-native'
class AppStateExample extends Component {
state = {
appState: AppState.currentState
}
componentDidMount() {
AppState.addEventListener('change', this._handleAppStateChange);
}
componentWillUnmount() {
AppState.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>
);
}
}