Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android activity 第二个活动仍然是在处理程序上启动,尽管按下后退按钮退出应用程序_Android Activity_Handler - Fatal编程技术网

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

Android activity 第二个活动仍然是在处理程序上启动,尽管按下后退按钮退出应用程序,android-activity,handler,Android Activity,Handler,我的应用程序有一个介绍活动,在使用应用程序之前显示流程栏 pb = (ProgressBar) findViewById(R.id.pb_loader); final Handler h = new Handler() { @Override public void handleMessage(Message message) { pb.setVisibility(View

我的应用程序有一个介绍活动,在使用应用程序之前显示流程栏

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

但当我按下后退按钮退出应用程序后,我的手机将返回到应用程序并进入第二个活动(3000毫秒后)。如何解决此错误?

另一种方法是使用计时器计划第二个活动的开始。我们可以通过取消OnBackPressed()回调中的计时器来取消第二个活动的开始

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