硬件后退按钮在反应本机android中不起作用

问题描述 投票:0回答:3

我正在使用带有导航的 React Native。我没有注意到,但突然后退按钮在整个应用程序中不起作用。左侧的标题后退按钮工作得很好,但是,硬件按钮无法返回到上一屏幕。

有人可以提出任何建议来解决这个问题吗?

android reactjs react-native react-navigation
3个回答
1
投票

我也遇到过同样的问题。这个问题与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 重新启动时未一致持久相关的崩溃。


0
投票
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.

0
投票

我之前遇到过类似的问题,结果发现问题是我们的一个软件包(crisp-chat)是为最新版本的 android (15) 制作的,并且它有 Predictive backhandler 。这覆盖了后退按钮的行为。您可能有某些已启用此功能的软件包。

接受的答案就是解决方案, React Native 应用程序在 Android 后退按钮或向左滑动时关闭 [仅限 Android 13 设备]

© www.soinside.com 2019 - 2024. All rights reserved.