Ios 如何知道,我的应用程序什么时候专注于或不专注于本机?

Ios 如何知道,我的应用程序什么时候专注于或不专注于本机?,ios,react-native,Ios,React Native,我正在开发一个react原生应用程序 在其中一个屏幕中,有一个按钮,单击该按钮,将向用户发送电子邮件,并打开默认的电子邮件应用程序 现在,该电子邮件包含一个链接,点击该链接,用户将返回到我的应用程序 我如何知道用户已从电子邮件应用返回到我的应用 反应生命周期方法,如: componentDidMount和componentdiddupdate 您需要的是应用程序的当前状态。然后您可以使用AppState解决它 AppState可以告诉您应用程序是在前台还是后台,并在状态更改时通知您 AppSta

我正在开发一个react原生应用程序

在其中一个屏幕中,有一个按钮,单击该按钮,将向用户发送电子邮件,并打开默认的电子邮件应用程序

现在,该电子邮件包含一个链接,点击该链接,用户将返回到我的应用程序

我如何知道用户已从电子邮件应用返回到我的应用

反应生命周期方法,如:

componentDidMount
componentdiddupdate


您需要的是应用程序的当前状态。然后您可以使用
AppState
解决它

AppState
可以告诉您应用程序是在前台还是后台,并在状态更改时通知您

AppState
经常用于确定处理推送通知时的意图和正确行为

示例

import React,{Component}来自'React';
从“react native”导入{AppState,Text};
类AppStateExample扩展组件{
状态={
appState:appState.currentState,
};
componentDidMount(){
AppState.addEventListener('change',this.\u handleAppStateChange);
}
组件将卸载(){
AppState.removeEventListener('change',this.\u handleAppStateChange);
}
_HandLeapStateChange=(nextAppState)=>{
如果(
this.state.appState.match(/inactive | background/)&&
nextAppState===“活动”
) {
log('应用程序已到达前台!');
}
this.setState({appState:nextapstate});
};
render(){
返回的当前状态为:{this.state.appState};
}
}

您可以尝试使用AppState API:

AppState可以告诉您应用程序是在前台还是后台,并在状态更改时通知您

活动-应用程序正在前台运行

后台-应用程序正在后台运行

[iOS]不活动-这是在前台和后台之间转换时,以及在进入多任务视图或来电等不活动期间发生的状态

我用它来恢复和停止应用程序中的背景音乐

这是苹果官方文档的链接: