gpt4 book ai didi

java - 当我调用取消时,timer.scheduleAtFixedRate 不会停止

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:33 24 4
gpt4 key购买 nike

在 onCreate 中,我运行了一个每分钟重复一次的任务。以下是我的做法:

myTimer = new Timer();
int delay = 30000; // delay for 30 sec.
int period = 600000; // repeat every 60 sec.
doThis = new TimerTask() {
public void run() {

Log.v("TImer","repeated");
wv.reload();

}
};

myTimer.scheduleAtFixedRate(doThis, delay, period);

所有代码都在 onCreate 中。因此,当应用程序从屏幕上消失时,我可以在 logcat 中看到计时器钢运行,并且不会停止,除非应用程序被销毁。因此,在 Activity 的 onPause 中,我调用了 myTimer.cancel(); 但它没有帮助。我仍然可以在 logcat 中看到更新,即使该应用程序不在屏幕上也是如此。那么,如何停止timerTask呢?

最佳答案

这是您放入我的文件中的代码,并调整了值 delay 和 period,这样我就不用等那么久了。我运行应用程序。我在 LogCat 中看到消息。我按下 Galaxy S3 上的主页按钮。然后消息在 LogCat 中停止。

public class MainActivity extends Activity {
Timer myTimer;
TimerTask doThis;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

myTimer = new Timer();
int delay = 0; // delay for 30 sec.
int period = 1000; // repeat every 60 sec.
doThis = new TimerTask() {
public void run() {

Log.v("TImer","repeated");

}
};

myTimer.scheduleAtFixedRate(doThis, delay, period);
}

@Override
protected void onPause() {
myTimer.cancel();
super.onPause();
}
}

关于java - 当我调用取消时,timer.scheduleAtFixedRate 不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com