2011-01-19 70 views
3

我有一个服务在15秒后启动一个线程。这是我的代码片段:如何停止使用postDelayed完成线程的启动

 Handler mHandler = new Handler(); 
     OverclockThread ocThread = new OverclockThread(); 
     ocThread.ocPreference = readPreference("oc"); 
     ocThread.serviceOn = true; 

     if (Intent.ACTION_SCREEN_ON.equals(action)) { 
      ocThread.screenOff = false; 
      mHandler.postDelayed(ocThread, 15000); 
     } 

现在我想通过按下按钮或一个复选框添加这15秒钟后停止我ocThread的发射能力...例如...我必须使用哪个命令来停止使用postDelayed启动的线程?

感谢

西蒙

+0

的可能重复的[如何删除从通过postDelayed添加处理程序对象可运行?](HTTP://计算器。 com/questions/3627216/how-to-remove-a-runnable-from-a-handler-object-added-by-postdelayed) – sschuberth 2013-07-05 14:15:09

回答

11

I'have使用:

mHandler.removeCallbacks(ocThread); 
+0

你可以将你的答案标记为正确:) – 2011-05-09 12:07:40