Android - 返回上一个应用程序会出现奇怪的消息

Android - going back to previous app gives strange message

我正在使用此代码返回到 Android 中的前一个 activity:

@ReactMethod
  public void  goBack()
  {
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    MainApplication.getContext().startActivity(startMain);
  }

例如,当我从 Gmail 打开 link(深 link)时,我的应用程序在 Gmail 应用程序之上打开,当我按下后退按钮时,它显示我收到以下消息:

我想要的是在不完成或终止我的应用程序的情况下返回到上一个应用程序或主屏幕。

我希望它就像按下多应用程序按钮并选择上一个应用程序而不关闭我的应用程序一样。当我按原样使用后退按钮时,它会完成我的应用程序。 我尝试玩旗帜但没有成功。

为此有一个 Cordova 解决方案:https://github.com/mohamed-salah/phonegap-backbutton-plugin/blob/master/src/android/BackbuttonPlugin.java。我的是 React Native 项目。

任何帮助将不胜感激!

经过一番挖掘,我使用了不同的代码:

@ReactMethod
  public void  goBack()
  {
    MainApplication.getCurrentActivity().moveTaskToBack (true);

  }

在MainApplication.java中:

public class MainApplication extends Application implements ReactApplication 
{


    private static Activity currentActivity;

    @Override
      public void onCreate() {
        super.onCreate();

        // Used for BackButton Module
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
          @Override
          public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
              MainApplication.currentActivity = activity;
          }

          @Override
          public void onActivityStarted(Activity activity) {
              MainApplication.currentActivity = activity;
          }

          @Override
          public void onActivityResumed(Activity activity) {
              MainApplication.currentActivity = activity;
          }

          @Override
          public void onActivityPaused(Activity activity) {
              MainApplication.currentActivity = null;
          }

          @Override
          public void onActivityStopped(Activity activity) {
              // don't clear current activity because activity may get stopped after
              // the new activity is resumed
          }

          @Override
          public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

          }

          @Override
          public void onActivityDestroyed(Activity activity) {
              // don't clear current activity because activity may get destroyed after
              // the new activity is resumed
          }
      });
      }
      public static Activity getCurrentActivity()
      {
          return currentActivity;
      }
}