嗨,我正在研究 TCP 套接字。我可以每 1 秒读取一次数据。为了实现它,我使用了 TimerTask,如下面的代码所示。
Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
finalizer = new Runnable() {
public void run() {
try {
if (navBool) {
runOnUiThread(new Runnable() {
public void run() {
new RetriveStock().execute(); // AsyncTask.
}
});
}
} catch (Exception e) {
}
}
};
handler.post(finalizer);
}
};
timer.schedule(doAsynchronousTask, 0, 1000);
为了取消这个计时器,我使用了代码作为
timer.cancel();
timer = null;
handler.removeCallbacks(finalizer);
但它并没有取消计时器。我不知道为什么。