gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 17:15:45 24 4
gpt4 key购买 nike

我在 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);

}

}

现在,当您按下后退按钮时,它会提示“Press back gain to exit”,如果用户在 3 秒内按下后退按钮,应用程序将退出

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com