我编写了一个处理程序,每个时间间隔都会调用该方法。我想删除 destroy() 中的那个处理程序。我使用的代码如下,在 Oncreate()
private final Handler _handler = new Handler();
public int DATA_INTERVAL = 30 * 1000;
Runnable getData;
getData = new Runnable()
{
@Override
public void run()
{
recieveData();
}
};
_handler.postDelayed(getData, DATA_INTERVAL);
在 ondestroy() 中,我使用,
_handler.removeCallbacks(getData);
但是 removecallbacks 不起作用。它在退出 Activity 后调用。
最佳答案
Remove any pending posts of Runnable r that are in the message queue.
所以 removeCallbacks(..)
只停止当前未运行的未决消息(Runnables),所以如果你想停止当前运行的 Runnable,那么当用户从你的应用程序退出时使用 bool 变量来停止线程.
请参阅此帖子以获取 removeCallbacks not stopping runnable
关于android - 删除处理程序的回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11981899/