1
是否有可能知道一個RN應用程序是否已經背景?任何回調或觸發器?如何知道反應本機應用程序是否轉到後臺?
如果我聽componentDidUnmount
或我在屏幕componentWillUnmount
,它只會如果我去前/後到另一個屏幕
感謝
是否有可能知道一個RN應用程序是否已經背景?任何回調或觸發器?如何知道反應本機應用程序是否轉到後臺?
如果我聽componentDidUnmount
或我在屏幕componentWillUnmount
,它只會如果我去前/後到另一個屏幕
感謝
你可以聽appState
觸發的事件。 從https://facebook.github.io/react-native/docs/appstate.html:
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>
);
}
}
可以使用AppState
:
應用美國
active
- 應用程序在運行 - 應用程序在前臺background
運行的背景。用戶無論是在另一個應用程序或主屏幕- 的事件
inactive
上 - 這是前景&背景之間轉變時出現的狀態,並且在非活動期間,如在進入多任務視圖或呼入
的可能的複製[本地做出反應?有沒有當你的應用程序被關閉回調函數(https://stackoverflow.com/questions/38677137/react-native-is-there-a-callback功能全換時,你的應用程序內,是封閉的) – bennygenel