我编写了一个处理程序,每个时间间隔调用该方法。我想在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不起作用。退出活动后调用。
最佳答案
removeCallbacks(Runnable r):
删除消息队列中所有Runnable r的未决帖子。
因此removeCallbacks(..)
仅停止当前未运行的可运行消息(Runnables),因此,如果要停止当前运行的Runable,则当用户从应用程序退出时,请使用布尔变量来停止线程。
见此帖子removeCallbacks not stopping runnable
关于android - 删除处理程序无法使用的回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11981899/