为什么Android应用程序在退出带有后退按钮的应用程序时显示空白屏幕React Native Navigation?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Android应用程序在退出带有后退按钮的应用程序时显示空白屏幕React Native Navigation?相关的知识,希望对你有一定的参考价值。

我正在研究React Native Application和集成的react-native-navigation软件包,用于在app,link of package中导航

android应用程序卡住并显示空白屏幕。如果我在Android应用程序中使用后退按钮关闭应用程序,则会发生这种情况。最后我有一个列表屏幕,重新打开应用程序后显示空白屏幕因为它没有再次调用Navigation.registerComponent,它可能会在使用后退按钮关闭时销毁应用程序。这是我的index.js里面的代码::

import { Navigation } from "react-native-navigation";
import App from './src/app';

Navigation.registerComponent("appName", () => App); 

杀死应用程序并重新启动将解决卡在启动屏幕上的问题。但不应该被困在第一位。通过后退按钮关闭时只是一个问题。

有人有解决方法吗?请建议我如何使用后退按钮关闭应用程序后再次处理和调用我的Navigation.registerComponent

环境

  • React Native Navigation版本:2.12.0
  • React Native版本:0.58
  • 平台:仅限Android
答案

要解决此问题,您需要在react-native-navigation包中进行修改。打开NavigationActivity.java文件并用新的代码替换下面的代码:

替换此代码:

@Override
    public void invokeDefaultOnBackPressed() {
        if (!navigator.handleBack(new CommandListenerAdapter())) {
         super.onBackPressed();
        }
    }

有了这个:

@Override
    public void invokeDefaultOnBackPressed() {
        if (!navigator.handleBack(new CommandListenerAdapter())) {
          this.moveTaskToBack(true);
         //super.onBackPressed();
        }
    }

保存更改后检查Android设备。

以上是关于为什么Android应用程序在退出带有后退按钮的应用程序时显示空白屏幕React Native Navigation?的主要内容,如果未能解决你的问题,请参考以下文章

Android应用程序中的后退按钮无法退出应用程序

如何在主页中打开后退按钮 android 以退出应用程序并关闭反应本机导航侧菜单

如何在一个页面上禁用 Android 后退按钮并在所有其他页面上更改为退出按钮

如何从 Cordova 中的 android 设备后退按钮退出应用程序?

PhoneGap - 后退按钮上的android退出

如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单