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);
};
};
这工作正常,因为应用程序现在已被终止并从初始屏幕重新启动。
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);
};
};
这工作正常,因为应用程序现在已被终止并从初始屏幕重新启动。