退出应用时会显示初始屏幕活动



每当我尝试通过按两次后退按钮退出我的应用程序时,都会出现启动画面并冻结,直到我再次按后退按钮。所以我需要按三次后退按钮才能退出我的应用程序。请帮助我仅按两次后退按钮即可退出应用程序。

项目中的 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);
}
}

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

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

您必须完成((启动画面,如下所示,而不是您在BackPress工作上的条件

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

最新更新