我在android应用程序中面临着奇怪的问题。每当我完成活动或什至强行关闭应用程序时,它都会重新启动。
以下是应用程序流程:
应用程序将使用“启动”屏幕打开,该屏幕是一个活动,然后转到“主活动”,其中的内容显示在一个片段中。现在,当我完成后面的主要活动时,按一下即可重新启动应用程序,而不是关闭它。
我这样开始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秒钟内按下后退按钮,则该应用程序将退出