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