第二个 activity 仍然在处理程序上启动,尽管按后退按钮退出应用程序

Second activity is still start on handler although press back button for quiting app

我的应用程序有一个 Introduce activity,它在使用应用程序之前显示进程栏。

        pb = (ProgressBar) findViewById(R.id.pb_loader); 

        final Handler h = new Handler() {
              @Override
              public void handleMessage(Message message) {
                pb.setVisibility(View.INVISIBLE); 
                Intent it = new Intent(FirstIntroActivity.this, SecondIntroActivity.class); 
                it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(it);
              }     
        };
        h.sendMessageDelayed(new Message(), 3000);

但是在我按下 BACK 按钮退出应用程序后,我的 phone 返回到应用程序并转到 SECOND activity(3000 毫秒后)。如何解决这个错误?

替代方法是使用计时器来安排第二个开始时间activity.we可以通过在 OnBackPressed() 回调中取消计时器来取消开始第二个时间activity。

private Timer timer;

@Override
protected void onResume() {
    super.onResume();
    timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            // add code to start your second activity
        }
    }, 2000);
}

@Override
public void onBackPressed() {

    timer.cancel();
    super.onBackPressed();
}