新聞中心
AppStateIOS 可以告訴你應(yīng)用程序是在前臺(tái)還是在后臺(tái),而且狀態(tài)更新時(shí)會(huì)通知你。 在處理推送通知時(shí),AppStateIOS 經(jīng)常被用于判斷目標(biāo)和適當(dāng)?shù)男袨椤?/p>

創(chuàng)新互聯(lián)專注于黟縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站制作。黟縣網(wǎng)站建設(shè)公司,為黟縣等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
iOS 應(yīng)用程序狀態(tài)
-
Active - 應(yīng)用程序在前臺(tái)運(yùn)行
-
Background - 應(yīng)用程序在后臺(tái)運(yùn)行。用戶正在使用另一個(gè)應(yīng)用程序或者在主屏幕上。
-
Inactive - 這是一種過(guò)渡狀態(tài),目前不會(huì)在React Native的應(yīng)用程序上發(fā)生。
想要獲取更多的信息,見 Apple's documentation
基本用法
為了查看當(dāng)前的狀態(tài),你可以檢查 AppStateIOS.currentState,該方法會(huì)一直保持最新狀態(tài)。然而,當(dāng) AppStateIOS在橋接器上檢索currentState時(shí),在啟動(dòng)時(shí)它將會(huì)為空。
getInitialState: function() {
return {
currentAppState: AppStateIOS.currentState,
};
}, componentDidMount: function() {
AppStateIOS.addEventListener('change', this._handleAppStateChange);
}, componentWillUnmount: function() {
AppStateIOS.removeEventListener('change', this._handleAppStateChange);
}, _handleAppStateChange: function(currentAppState) {
this.setState({ currentAppState, });
}, render: function() {
return (
Current state is: {this.state.currentAppState}
);
},這個(gè)例子似乎只能說(shuō)"當(dāng)前狀態(tài)是:活躍的"因?yàn)樵?nbsp;active 狀態(tài)時(shí),應(yīng)用程序只對(duì)用戶是可見的,空狀態(tài)只能是暫時(shí)的。
方法
static addEventListener(type: string, handler: Function)
通過(guò)監(jiān)聽 change 事件類型和提供處理程序,為應(yīng)用程序狀態(tài)變化添加一個(gè)處理程序。
static removeEventListener(type: string, handler: Function)
通過(guò)傳遞 change 事件類型和處理程序,刪除一個(gè)處理程序。
例子
Edit on GitHub
'use strict'; var React = require('react-native'); var {
AppStateIOS,
Text,
View
} = React; var AppStateSubscription = React.createClass({
getInitialState() { return {
appState: AppStateIOS.currentState,
previousAppStates: [],
};
},
componentDidMount: function() {
AppStateIOS.addEventListener('change', this._handleAppStateChange);
},
componentWillUnmount: function() {
AppStateIOS.removeEventListener('change', this._handleAppStateChange);
},
_handleAppStateChange: function(appState) { var previousAppStates = this.state.previousAppStates.slice();
previousAppStates.push(this.state.appState); this.setState({
appState,
previousAppStates,
});
},
render() { if (this.props.showCurrentOnly) { return (
{this.state.appState}
);
} return (
{JSON.stringify(this.state.previousAppStates)}
);
}
});
exports.title = 'AppStateIOS';
exports.description = 'iOS app background status';
exports.examples = [
{
title: 'AppStateIOS.currentState',
description: 'Can be null on app initialization',
render() { return {AppStateIOS.currentState} ; }
},
{
title: 'Subscribed AppStateIOS:',
description: 'This changes according to the current state, so you can only ever see it rendered as "active"',
render(): ReactElement { return ; }
},
{
title: 'Previous states:',
render(): ReactElement { return ; }
},
]; 網(wǎng)站欄目:創(chuàng)新互聯(lián)React教程:iOS應(yīng)用程序狀態(tài)
網(wǎng)頁(yè)地址:http://m.fisionsoft.com.cn/article/cojsgcj.html


咨詢
建站咨詢
