BackHandler.exitApp 应用在简历显示旧页面时保持最小化

BackHandler.exitApp app is staying minimized on resume showing old page

React Native BackHandler android 出现问题,我试图在 "home" 屏幕上按回键时关闭我的应用程序。

  onBackPress() {
       BackHandler.exitApp();
       return false;

    }

    constructor(props) {
        super();
        this._onBackPress = this.onBackPress.bind(this);
    }

场景设置:

const Scenes = Actions.create(
  <Scene key="root">
    <Scene key="setup" component={SetupContainer} title="setup" hideNavBar></Scene>
    <Scene key="home" component={HomeContainer} title="home" hideNavBar></Scene>
  </Scene>
);

但是,该应用只是最小化,当用户再次选择该应用时,它将显示只能访问一次的上一页(设置)。

无论如何我想销毁应用程序以使其无法恢复。

我刚刚 运行 进入这个解决方案。 要退出应用程序,我使用了一个本机模块,它基本上是 "kills" 应用程序,因此它可以像 iOS 应用程序一样重新启动,而不是从上一个屏幕恢复。

在我的本机代码中,我调用 -

     @ReactMethod
  public void finishAndroidActivity(int x) {
    Log.d("MainActivity","finishAndroidActivity");
    Activity activity = getCurrentActivity();
    //Toast.makeText(getReactApplicationContext(), "Exit", Toast.LENGTH_SHORT).show();

    if (activity != null) {
        Log.d("Received Value =", String.valueOf(x));
        if(x==1)
        {
            android.os.Process.killProcess(android.os.Process.myPid());
        }
        else
            activity.onBackPressed();
    }
  }

退出进程。

在我的 Javascript 代码中,我传递了一个整数值,具体取决于每次按下后退按钮时我想退出的屏幕(在 reducer 函数中)-

const reducerCreate = params => {
    const defaultReducer = new Reducer(params);
    return (state, action) => {
        if (action.type === 'Navigation/BACK') {
            if (Actions.currentScene === 'Dashboard') {
                MyModuleExitApp.finishAndroidActivity(1);
            }
        }
        return defaultReducer(state, action);
    };

};

这工作正常,因为应用程序现在已被终止并从初始屏幕重新启动。