我有一个TimerTask
每隔5秒运行一次检查方法
TimerTask checkEnc = new mainTask();
timer.scheduleAtFixedRate(checkEnc 0, 5000);
该方法检查添加到数据库中的新数据。
public static ArrayList<Media> getNew(Context context) {
ArrayList<Media> medias = new ArrayList<Media>();
Cursor cursor = getNewAsCursor(context);
if (cursor.moveToFirst()) {
while (!cursor.isAfterLast()) {
medias.add(new Media(context, cursor));
cursor.moveToNext();
}
}
if(cursor != null && !cursor.isClosed()){
cursor.close();
}
return medias;
}
问题是,大多数时候尝试重新打开已经崩溃的问题 - closed object: net.sqlcipher.database.SQLiteQuery
cursor.moveToNext();
导致这种情况的原因是什么?