版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/52065183
方法一:
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);//延时多长时间启动定时器