У меня возникла проблема с использованием FileObserver для обновления метабазы, когда новые sqlites добавляются в конкретный каталог на SD-карте. Если я вручную adb нажимаю новый sqlite в каталог, то звоните onEvent(FileObserver.CREATE, <filename>)
, он отлично работает. Тем не менее, когда я звоню FileObserver.startWatching()
и adb нажимает новый sqlite для наблюдателя, чтобы поймать сам по себе, он вызывает onEvent
(с теми же параметрами, что и при вызове вручную - я проверил), открывает файл sqlite отлично, но не удается найти любой из его таблиц, когда я запрашиваю недавно открытый sqlite и генерирует исключение sqlite.Android FileObserver находит SQLites, но не их таблицы/содержимое
Я использую метод SQLiteDatabase openDatabase()
, поэтому он не может найти оригинал и создать пустую (общая проблема). Кроме того, тот же sqlite-запрос, сделанный в оболочке adb, позволяет получить доступ к недавно добавленным таблицам sqlite.
Есть ли у кого-нибудь идеи, почему это может произойти? Мой код, похоже, отлично работает на основе успеха ручного вызова, поэтому я ищу любые причуды с FileObservers или SQLite на Android, которые, возможно, пропустили, поскольку я новичок в обоих.
UPDATE: Далее отладка показывает, что если я ADB нажать файл и вызвать onEvent(FileObserver.CREATE, <filename>)
вручную, а затем запустить FileObserver смотреть и ADB нажать один и тот же файл в том же место, FileObserver выполняет те onEvent
запросов без проблем установочной таблицы. .. не уверен, что это значит.