在一个发布方法中插入数据到另一个数据库中的数据库执行更新SQLite抛出异常,我需要暂停和恢复线程。我的计划是运行一种方法来查询我的数据库,以免造成错误。Android应用中的暂停计时器
我的计时器,
cron = new Timer();
cron.schedule(scanTask = new TimerTask() {
@Override
public void run() {
startService(new Intent(getBaseContext(), CronPush.class));
}
}, 0, 30000);
@Override
protected Void doInBackground(Void... arg0) {
cron.cancel();
Sincronizacion s = new Sincronizacion();
s.sincronizarBD(MenuEvento.this, codigoEvento);
resume();
return null;
}
public void resume() {
cron = new Timer();
cron.schedule(scanTask = new TimerTask() {
@Override
public void run() {
startService(new Intent(getBaseContext(), CronPush.class));
}
}, 0, 30000);
}
03-27 23:19:49.520: E/AndroidRuntime(4603): FATAL EXCEPTION: AsyncTask #3
03-27 23:19:49.520:E/AndroidRuntime(4603):了java.lang.RuntimeException:执行doInBackground() 03-27 23发生错误: 19:49.520:E/AndroidRuntime(4603):at android.os.AsyncTask $ 3.done(AsyncTask.java:299) 03-27 23:19:49.520:E/AndroidRuntime(4603):在java.util.concurrent .FutureTask.finishCompletion(FutureTask.java:352) 03-27 23:19:49.520:E/AndroidRuntime(4603):at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 03-27 23 :19:49.520:E/AndroidRuntime(4603):在java.util.concurrent.Future Task.run(FutureTask.java:239) 03-27 23:19:49.520:E/AndroidRuntime(4603):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 03-27 23: 19:49.520:E/AndroidRuntime(4603):在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:573) 03-27 23:19:49.520:E/AndroidRuntime(4603):在java。 lang.thread.run(Thread.java:856) 03-27 23:19:49.520:E/AndroidRuntime(4603):引起:java.lang.IllegalStateException:TimerTask已安排 03-27 23:19: 49.520:E/AndroidRuntime(4603):在java.util.Timer.scheduleImpl(Timer.java:572) 03-27 23:19:49.520:E/AndroidRuntime(4603):在java.util.Timer.schedule Timer.java:481) 03-27 23:19:49.520:E/AndroidRuntime(4603):at com.androidaz.scanner.MenuEvento.resume(MenuEvento.java :266) 03-27 23:19:49.520:E/AndroidRuntime(4603):at com.androidaz.scanner.MenuEvento $ sincronizarBD.doInBackground(MenuEvento.java:216) 03-27 23:19:49.520:E/AndroidRuntime(4603):at com.androidaz.scanner.MenuEvento $ sincronizarBD.doInBackground(MenuEvento.java:1) 03-27 23:19:49.520:E/AndroidRuntime(4603):at android.os.AsyncTask $ 2。调用(AsyncTask.java:287) 03-27 23:19:49.520:E/AndroidRuntime(4603):在java.util.concurrent.FutureTask.run(FutureTask.java:234)
编辑POST并显示错误信息,让我按照你说的去做,看看你能否帮助我。 – Nico1991
提到的错误,请加我的帖子。 – Nico1991
编辑,尝试新版本 –