Java 安卓:重启计时器
我使用以下代码创建了一个TimerTask:Java 安卓:重启计时器,java,android,eclipse,timer,timertask,Java,Android,Eclipse,Timer,Timertask,我使用以下代码创建了一个TimerTask: Screen_Timer_Task = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { // Do my stuff
Screen_Timer_Task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
@Override
public void run()
{
// Do my stuff
}
});
}
};
然后,我从以下内容开始计时任务:
Screen_Timer.scheduleAtFixedRate(Screen_Timer_Task, 1, 1);
这很好用。但是打电话之后
Screen_Timer.cancel();
Screen_Timer.purge();
它不会重新启动
Screen_Timer.scheduleAtFixedRate(Screen_Timer_Task, 1, 1);
应用程序正在崩溃 “任务可以运行一次”来自文档
如果要使用它,必须再次创建TimerTask
对象
再次设置计时器
,因为取消()
:
“取消计时器和所有计划的任务。如果有当前正在运行的任务,则不会受到影响。在此计时器上不能计划更多的任务。后续调用将不起任何作用。”否,它不起作用。我把它放在一个public void函数中并调用它,但是在第二次,应用程序崩溃了。所以显示你得到的LogCat。我通过LAN连接将应用程序发送到我的设备,所以我没有LogCat。所以每次显示你现在如何再次创建TimerTask创建新的
计时器每次都是。这就是解决办法。谢谢!!
public void start_my_timer()
{
Screen_Timer_Task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
@Override
public void run()
{
// Do my stuff
}
});
}
};
Screen_Timer.schedule(Screen_Timer_Task, 1, 1);
}