背景使用后退按钮的反应原生安卓应用程序
我已经按照示例模式处理反应原生docs中的安卓后退按钮,它运行良好。我可以使用硬件后退按钮弹出我的导航堆栈。背景使用后退按钮的反应原生安卓应用程序
在堆栈中只有1个视图,虽然我不弹出它(就像这个例子),并且我从我的hardwareBackPress
事件监听器返回false。在这一点上,我看到我的最终视图中调用了componentWillUnmount
方法,此时我的应用程序关闭。
如果我返回true那么显然没有任何反应。
我想要发生的事情是,应用程序仅仅是“背景”而不是完全退出。
回答了我自己的问题。关键是要覆盖在MainActiviy
默认后退按钮行为:
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "foo";
}
@Override
public void invokeDefaultOnBackPressed() {
// do not call super. invokeDefaultOnBackPressed() as it will close the app. Instead lets just put it in the background.
moveTaskToBack(true);
}
}
我越来越疯狂了解如何重新编译(Java部分)后这种变化,我会很高兴在这里提示。只需要很少这样做。 –
,再次,它使用'react-native run-android'重新编译所有时间,但似乎'moveTaskToBack'没有做它应该做的事情... #investigating –
Wolfram Kriesing - 也许这是Android版本的问题'重新编码?它是什么版本? – pomo
雅,我面临着同样的问题。我有一个登录页面,移动到忘记密码页面,现在我点击回到导航弹出登录。再次登录时,我点击后退按钮,它不关闭应用程序。我不知道为什么。如果你知道答案,请帮助我。 – user2906641
我正面临相反的问题。我的应用程序获取背景,我想关闭后退按钮按下。 https://stackoverflow.com/questions/45191413/react-native-application-does-not-shut-down-on-back-button – croraf