2016-02-04 55 views
-2

上午有一个以5ms间隔运行的处理程序方法。我想在一段时间后停止执行?任何建议请如何在特定时间后停止运行

+0

使用标志为... – Mohit

+0

你读过'Handler'的文档?它有几种方法可以删除挂起的'Runnable's'' Message's – pskink

+0

添加一个支票。如果条件是真的从那里休息。 –

回答

0

您可以通过为处理程序和可运行程序创建实例成员,然后在活动生命周期方法中管理处理程序来管理处理程序(可运行)。

private Handler myHandler; 
private Runnable myRunnable = new Runnable() { 
@Override 
public void run() { 
    //Do Something 
} 
}; 

用handler.post启动runnable。

protected void onStart() { 
super.onStart(); 
myHandler = new Handler(); 
myHandler.post(myRunnable); 

} 

如果运行的已不是由时间onStop被称为执行,我们不希望运行它。在onStop方法删除回调:

protected void onStop() { 
super.onStop(); 
mHandler.removeCallbacks(myRunnable); 
} 
+1

谢谢..得到它的工作.. –

+0

不客气。 – Kristo

相关问题