我想每隔几分钟运行一次Background ASycTask.我创建了一个计时器,然后执行后台任务的.execute命令.我还创建了一个bool isChecking,它在BackgroundNotify运行时是真的.问题是我仍然收到以下错误:
01-26 15:09:32.871: E/AndroidRuntime(22332): FATAL EXCEPTION: Timer-0
01-26 15:09:32.871: E/AndroidRuntime(22332): java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once)
01-26 15:09:32.871: E/AndroidRuntime(22332): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:578)
01-26 15:09:32.871: E/AndroidRuntime(22332): at android.os.AsyncTask.execute(AsyncTask.java:534)
01-26 15:09:32.871: E/AndroidRuntime(22332): at de.tecfriends.vbtsplash2013.MainActivity$2.run(MainActivity.java:61)
01-26 15:09:32.871: E/AndroidRuntime(22332): at java.util.Timer$TimerImpl.run(Timer.java:284)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
AsyncTask只能执行一次.如果需要再次执行任务,请创建一个新实例,然后调用execute():
if (task.getStatus() == AsyncTask.Status.FINISHED) {
task = new AsyncTask();
}
if (task.getStatus() != AsyncTask.Status.RUNNING) {
task.execute();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |