postDelayed(Runnable runnable ,long delayMillis)只执行一次

postDelayed(Runnable runnable ,long delayMillis)方法含义,隔delayMillis的时间后去执行一次runable(不循环,只有一次)


  1. 如果想要关闭此定时器,可以这样操作  
  2. handler.removeCallbacks(runnable);

若要循环的执行,就是每隔2s去执行一次线程,就用递归,在run()中执行

  1. Runnable runnable=new Runnable(){  
  2.    @Override  
  3.    public void run() {  
  4.     // TODO Auto-generated method stub  
  5.     //要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作  
  6.     handler.postDelayed(this, 2000);  
  7.    }     
  8. };  
  9. handler.postDelayed(this, 2000);

若得到自己想要的数据后要停止该定时器的发送,有两种方法

1:在run()中定义一个标志位,

loop_send
run(){
	if(loop_send){
}
}
2:removeCallbacks()方法

你可能感兴趣的:(Android)