返回React Native应用时调用函数

时间:2019-11-22 03:28:27

标签: reactjs react-native expo

我有一个使用以下代码的应用:Java Version in weblogic servers : java version "1.7.0_80" Arguments in server start : -Dhttps.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 Certificates are added in cacerts and trust.jks Remote host is accepting only TLSv1.2 Property has been set : TLS_VERSION=TLSv1.2 在我的React Native Expo应用中退出到Google地图。 使用android(和iOS),您可以使用手机的后退按钮返回到以前的应用。我想知道当我的应用重新显示时如何调用函数。 我的应用程序中有一些GPS数据,当他们返回我的应用程序后,我想重新更新我的数据。我发现了这个....

Linking.openURL('google.navigation:q='+latitude+'+'+longitude)

但是当我从地图上回来时似乎没有调用。

这是关闭还是我做错了?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用AppState来实现它。

componentDidMount(){
 AppState.addEventListener('change', this.handleAppStateChange);
}

handleAppStateChange = (nextAppState) => {
        //the app from background to front
        if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {

        }
//save the appState
this.setState({ appState: nextAppState });
    }

源代码注释中说:

 *AppStateIOS can tell you if the app is in the foreground or background,
 * and notify you when the state changes.
 *  * AppStateIOS is frequently used to determine the intent and proper 
 * behavior
 * when handling push notifications.
 *  * iOS App States
 *      active - The app is running in the foreground
 *      background - The app is running in the background. The user is 
 *either in another app or on the home screen
 *      inactive - This is a transition state that currently never happens 
 * for typical React Native apps.

不同状态的含义:

  • 处于活动状态-应用正在前台运行

  • 背景-应用程序在后台运行。
    用户是:
    1,在另一个应用程序中
    2,在主屏幕上
    [Android]在另一个活动上(即使它是由您的应用启动的)

  • [iOS]不活动-这是转换时发生的状态 在前景和背景之间以及不活动期间 例如进入多任务处理视图或进入 呼叫

您必须仔细处理android的状态。