我该如何从本机Android应用程序退出?

时间:2019-09-27 10:12:16

标签: react-native react-native-android react-native-router-flux

我正在使用react-native-router-flux最新版本“ react-native-router-flux”:“ ^ 4.0.6” “ react-native”:“ 0.60.5英寸。我尝试了许多替代方法,但没有成功。我想从物理设备或仿真器的本地场景中退出本机应用程序。任何帮助将不胜感激。

<Router>
  <Stack key="root" hideNavBar={true}>
    <Scene key="Home" component={Home} title="Home" initial={true} type={ActionConst.RESET}/>
    <Scene key="Categories" component={Categories} title="Categories"/>
  </Stack>
</Router>

//Home.js
componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
  }

  componentWillUnmount() {
      BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
  }

  handleBackButtonClick() {
      BackHandler.exitApp();
      return true;
  }

1 个答案:

答案 0 :(得分:0)

您应将此 backAndroidHandler 放入主路由器中:

使用 Actions.currentScene ,您将获得其中的 Scene

                  <Router     
                      backAndroidHandler={() => {
                        let cs = Actions.currentScene;
                        if (cs === 'Home') {return false } 
                        else {Actions.pop()}
                       }}
                   >