2015-02-04 2 views
1

Мое приложение сохраняет записанные видеофайлы в определенной папке во внешнем каталоге и сохраняет метаданные, включая путь каждого файла в базе данных. Мне нужно учесть удаление, переименование и перемещение моего файла в случае обновления базы данных с новым пути к файлу. Я читал о FileObserver в android. Если я укажу путь к своему каталогу на SD-карте, например /storage/emulated/0/my_recordings, в качестве входного пути моего FileObserver, события будут запущены для всех моих файлов на пути ввода, а также будут запущены для типа событий MOVED_TO, который я использую для наблюдения за переименованием работа с файлами под моим каталогом, я получу новый относительный path моего файла в аргументе пути onEvent (int event, String path), но как я могу получить старое имя файла или старый путь к файлу этого файла, чтобы понять, какую запись базы данных мне нужно обновить? Я передал путь родительского каталога этого файла, поэтому у меня нет старого имени файла.Извлечение нового и старого пути переименованного файла в каталог наблюдения

Заранее спасибо

+1

Перед 'MOVE_TO' должно быть событие MOVED_FROM. Путь к событию 'MOVED_FROM' должен быть старым именем файла, в то время как путь в MOVED_TO должен содержать новое имя файла. Убедитесь, что вы отслеживаете этот тип события, явно передавая его в параметр 'flags' конструктора' FileObserver'. –

ответ

1

Там должно быть событие MOVED_FROM прямо перед процедурой move_to. Путь к событию MOVED_FROM должен быть старым именем файла, в то время как путь в MOVED_TO должен содержать новое имя файла.

Также убедитесь, что вы отслеживаете этот тип события, явно передавая его в параметре flags конструктора FileObserver.

+0

Спасибо. Оно работает. – Armin

Смежные вопросы