2016-06-03 2 views
1

Используя навигатор, я ударил домой из своего активного приложения для Android и вернусь к нему, и он всегда начинается с начального маршрута, который является моим заставкой. Не удается ли сохранить компонент, который был в поле зрения, последним компонентом, который будет отображаться при повторном открытии приложения?React native Android Home всегда запускает заставку

class AwesomeProject extends Component { 
    render() { 
    return (
     <Navigator 
      style={{ flex:1 }} 
      initialRoute={{ id: 'SplashPage' }} 
      renderScene={ this.renderScene } 
     /> 
    ); 
    } 
    renderScene(route, navigator) { 
     if (route.id === 'SplashPage') { 
     return (
      <SplashPage 
      navigator={navigator} {...route.passProps} 
      /> 
     ); 
     }else if(route.id === 'HomePage'){ 
     return (
      <HomePage 
      navigator={navigator} {...route.passProps} 
      /> 
     ); 
     }else if(route.id === 'ListViewPage'){ 
     return (
      <ListViewPage 
      navigator={navigator} {...route.passProps} 
      /> 
     ); 
     } 

    } 

} 
+0

вы можете сделать его более понятным? я не понимаю ваш вопрос. –

+0

Что я хочу, так это то, что на какой бы странице ни находилось мое приложение, прежде чем я нажму кнопку Android Home, тогда, когда я снова открою приложение, я вернусь на эту страницу, а не мой первоначальный маршрут. – AKing

ответ

0

Вам нужно добавить следующий код в /android/app/src/main/java/com//MainActivity.java. так что он поддерживает стеки приложений.

 @Override 
    public void onBackPressed() { 
     if (mReactInstanceManager != null) { 
      mReactInstanceManager.onBackPressed(); 
     } else { 
      super.onBackPressed(); 
     } 

, если вы не достичь ответа от выше, пожалуйста, следуйте ссылке ниже: https://facebook.github.io/react-native/docs/native-modules-android.html

и в последнем из выше ссылке есть жизненный цикл событие для применения в реакции родной. Итак, следуйте той же стратегии, что и собственный метод android onPause/onDestroy/onStop, и, пожалуйста, решите свою проблему.

+0

Что бы я хотел, так это то, что на какой бы странице ни находилось мое приложение, прежде чем я удалю кнопку Android Home, тогда, когда я снова открою приложение, я вернусь на эту страницу, а не мой первоначальный маршрут. – AKing

+0

делает выше ответ решить вашу проблему? –

+0

Нет, это не помогло решить проблему – AKing

0

Вы можете убедиться, что приложение находится в прямом эфире, когда вы нажмете на дом?

+0

Что это значит? – AKing

+0

Я имею в виду, если вы всегда показываете заставку при повторном открытии приложения, возможно ли, что приложение будет убито, когда вы попадете домой? –

0

Мое первое предложение - не использовать splashscreen в качестве сцены. Если вы используете это таким образом, это скорее не splashscreen, а компонент. Используйте собственный код Java, как указано в приведенных ниже ссылках, чтобы решить вашу проблему как шарм.

https://github.com/react-native-component/react-native-smart-splash-screen

с этим есть некоторые ошибки импорта, которые могут быть фиксированными, глядя на раздел вопросов или проверить свой код в GitHub, который содержит совершенное использование модуля SplashScreen.

https://github.com/UjjwalNepal/Dental

Надеется, что это помогает. Спасибо