Android--延迟页面跳转实现方法

时间:2021-12-19 23:24:05

方法一:

       new Handler(new Handler.Callback() {
           //处理接收到的消息的方法
           @Override
           public boolean handleMessage(Message arg0) {
               //实现页面跳转
               startActivity(new Intent(getApplicationContext(),MainActivity.class));
               return false;
           }
        }).sendEmptyMessageDelayed(0, 3000); //表示延时三秒进行任务的执行

方法二:

private void enterHome(){
		Timer time = new Timer();
		TimerTask tk = new TimerTask() {
		Intent intent = new Intent(MainActivity.this,HomeActivity.class);
			@Override
			public void run() {
				// TODO Auto-generated method stub
				
				startActivity(intent);
				finish();
			}
		};time.schedule(tk, 2000);
		
	}

timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。

其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。

定时器实现:

handler = new Handler();
        runnable = new Runnable() {

            @Override
            public void run() {
                // handler自带方法实现定时器
                System.out.println("33331");
                handler.postDelayed(this, 1000*3);//每隔3s执行

            }
        };
        handler.postDelayed(runnable, 1000*60);//延时多长时间启动定时器