我正在使用带有导航的 React Native。我没有注意到,但突然后退按钮在整个应用程序中不起作用。左侧的标题后退按钮工作得很好,但是,硬件按钮无法返回到上一屏幕。
有人可以提出任何建议来解决这个问题吗?
我也遇到过同样的问题。这个问题与react-navigation安装步骤有关。
就我而言,它与react-native-screens库有关。分享以下步骤:
react-native-screens 包需要一个额外的配置步骤才能在 Android 设备上正常工作。编辑位于 android/app/src/main/java//MainActivity.java.
的 MainActivity.java 文件将以下代码添加到 MainActivity 类的主体中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
}
并确保在此文件的顶部添加导入语句:
import android.os.Bundle;
需要进行此更改,以避免与 View 状态在 Activity 重新启动时未一致持久相关的崩溃。
import the BackHandler from "react-native"
Add in the componentDidMount - >
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
Implement handleBackButton ->
handleBackButton(){
this.props.navigation.popToTop();
return true;
}
**popToTop** goes back to the first screen in the stack.
我之前遇到过类似的问题,结果发现问题是我们的一个软件包(crisp-chat)是为最新版本的 android (15) 制作的,并且它有 Predictive backhandler 。这覆盖了后退按钮的行为。您可能有某些已启用此功能的软件包。
接受的答案就是解决方案, React Native 应用程序在 Android 后退按钮或向左滑动时关闭 [仅限 Android 13 设备]