我在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秒钟内按下后退按钮,则该应用程序将退出

07-24 09:50
查看更多