Java 退出应用程序时出现启动屏幕活动

Java 退出应用程序时出现启动屏幕活动,java,android,Java,Android,每当我尝试按两次后退按钮退出我的应用程序时,启动屏幕就会出现,并且它会冻结,直到我再次按后退按钮。所以我需要按下后退按钮三次才能退出我的应用程序。请帮助我退出应用程序,只需按两次后退按钮 项目中的java代码如下所示: public void onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed(); MapsActivity.this.finish();

每当我尝试按两次后退按钮退出我的应用程序时,启动屏幕就会出现,并且它会冻结,直到我再次按后退按钮。所以我需要按下后退按钮三次才能退出我的应用程序。请帮助我退出应用程序,只需按两次后退按钮

项目中的java代码如下所示:

public void onBackPressed()
{
    if (doubleBackToExitPressedOnce)
    {
        super.onBackPressed();
        MapsActivity.this.finish();
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click Back again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            doubleBackToExitPressedOnce = false;
        }
    }, 2000);
}
public class SplashScreen extends AppCompatActivity {
    ImageView logoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash_screen);
        Animation anim1 = AnimationUtils.loadAnimation(this,R.anim.anim_down);
        logoView = findViewById(R.id.logoview);
        logoView.setAnimation(anim1);


        Handler handler = new Handler();

        handler.postDelayed(new Runnable()
        {
            @Override
            public void run()
            {
                Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
                startActivity(next_scrn);
                overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            }
        },2500);
    }
}
我的启动屏幕代码如下:

public void onBackPressed()
{
    if (doubleBackToExitPressedOnce)
    {
        super.onBackPressed();
        MapsActivity.this.finish();
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click Back again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            doubleBackToExitPressedOnce = false;
        }
    }, 2000);
}
public class SplashScreen extends AppCompatActivity {
    ImageView logoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash_screen);
        Animation anim1 = AnimationUtils.loadAnimation(this,R.anim.anim_down);
        logoView = findViewById(R.id.logoview);
        logoView.setAnimation(anim1);


        Handler handler = new Handler();

        handler.postDelayed(new Runnable()
        {
            @Override
            public void run()
            {
                Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
                startActivity(next_scrn);
                overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            }
        },2500);
    }
}

您应该在开始新活动后完成Splash活动,因此请使用:

handler.postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
            startActivity(next_scrn);
            overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            SplashScreen.this.finish();
        }
    },2500);

您应该在开始新活动后完成Splash活动,因此请使用:

handler.postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
            startActivity(next_scrn);
            overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            SplashScreen.this.finish();
        }
    },2500);
添加
finish()在下面的代码之后

  Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
  startActivity(next_scrn);
添加
finish()在下面的代码之后

  Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
  startActivity(next_scrn);
您必须完成()启动屏幕,如下所示,而不是按您的条件进行反压操作

  Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
            startActivity(next_scrn);
            overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            finish();
您必须完成()启动屏幕,如下所示,而不是按您的条件进行反压操作

  Intent next_scrn = new Intent(SplashScreen.this,MapsActivity.class);
            startActivity(next_scrn);
            overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
            finish();

它的工作非常感谢,很抱歉我不能放弃投票,因为我没有声誉。它的工作非常感谢,很抱歉我不能放弃投票,因为我没有声誉。删除
MapsActivity.this.finish()并从
SplashScreen
活动中添加
finish()
。删除
MapsActivity.this.finish()并从
SplashScreen
活动中添加
finish()。