我使用服务每 3 小时更新一次 db4o 文件:
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.d("Service", "Service started");
pref = new MyPreferences(getApplicationContext());
addNotificacion();//update notifications
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Looper.prepare();
Log.d(TAG, "updating...");
updateInService();
addNotificacion();
Log.d(TAG, "End of update");
}
}, 40000, 60000);
}
我对 addNotificacion() 方法没有问题,但 updateInService 抛出了主题的异常。在这种方法中,我访问 db4o,使用 http 客户端,更新 AlarmManager 的警报......但我不修改 UI。我在 OnBootReceiver 中启动服务。
我该如何解决我的问题?
提前致谢。
编辑后:
添加后Looper.prepare();
,系统在第一次迭代中完成,但在第二次,我在实例 Looper.prepare(); 中有一个异常;:java.lang.RuntimeException:每个线程只能创建一个 Looper
谢谢!