android - 完成主要 Activity 导致 Android 应用程序重新启动

标签 android android-fragments android-activity

我在 Android 应用程序中遇到奇怪的问题。每当我完成 Activity 甚至强制关闭应用程序时,它都会重新启动。

以下是应用程序流程:

应用程序打开时会显示闪屏,这是一个 Activity ,然后转到主 Activity ,其中内容显示在 fragment 中。现在,当我在后按时完成主要 Activity 时,应用程序会重新启动而不是关闭。

我像这样启动MainActivity

Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(mainIntent);

MainActivity中我像这样完成它

MainActivity.this.finish();

并像这样退出应用程序

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

如何解决这个问题?

谢谢

最佳答案

您应该使用以下标记启动 MainActivity

Intent launchNextActivity;
launchNextActivity = new Intent(B.class, A.class);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);                  
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(launchNextActivity);

现在,在您想要实现 onBackPressed 来关闭应用程序的 MainActivity 中,您可以执行以下操作,

private Boolean exit = false;
@Override
    public void onBackPressed() {
        if (exit) {
            finish(); // finish activity
        } else {
            Toast.makeText(this, "Press Back again to Exit.",
                    Toast.LENGTH_SHORT).show();
            exit = true;
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    exit = false;
                }
            }, 3 * 1000);

        }

}

现在,当您按后退按钮时,它会提示“按后退增益退出”,如果用户在 3 秒内按后退按钮,应用程序将退出

关于android - 完成主要 Activity 导致 Android 应用程序重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39116972/

相关文章:

android - 使用 CoordinatorLayout 在 fragment 中隐藏 Activity 中的工具栏

java - setOnItemLongClickListener 和 setOnItemClickListener 在同一个类上

android - 我正在尝试在 TextView 中输出一个 .docx 文件,它会为我显示它,我该如何修复它?

android - 从 Activity 调用 Fragment 中的方法返回 java.lang.NullPointerException 错误

android - FragmentTransaction 替换整个屏幕

android - 如何使用 FLAG_REORDER_TO_FRONT 和 FLAG_CLEAR_TOP 启动 Activity

android - 将 Activity 放在首位时如何获得新的 Intent extra?

android - 同时具有宽度和高度的 Fresco 图像 - match_parent 不显示

android - 反射可以与属于大于最小 sdk 的方法一起使用吗?

android - 将屏幕内容移动到屏幕android的左侧