postDelayed(Runnable runnable ,long delayMillis)方法含义,隔delayMillis的时间后去执行一次runable(不循环,只有一次)
- 如果想要关闭此定时器,可以这样操作
- handler.removeCallbacks(runnable);
若要循环的执行,就是每隔2s去执行一次线程,就用递归,在run()中执行
- Runnable runnable=new Runnable(){
- @Override
- public void run() {
- // TODO Auto-generated method stub
- //要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
- handler.postDelayed(this, 2000);
- }
- };
- handler.postDelayed(this, 2000);
若得到自己想要的数据后要停止该定时器的发送,有两种方法
1:在run()中定义一个标志位,
loop_send
run(){
if(loop_send){
}
}
2:removeCallbacks()方法