在观察目录下检索重命名文件的新旧路径

时间:2015-02-04 23:32:22

标签: android fileobserver

我的应用程序将录制的视频文件保存在外部目录中的特定文件夹中,并保存元数据,包括数据库中每个文件的路径。我需要观察删除,重命名和移动我的文件,以防使用新文件路径更新数据库。我在android中读到了FileObserver。如果我将SD卡中的目录路径(例如/storage/emulated/0/my_recordings)作为FileObserver的输入路径,则会为输入路径中的所有文件触发事件,并且会为{ {1}}我用来观察我目录下文件的重命名操作的事件类型,我将在MOVED_TO的路径参数中获取我文件的新相对path但是如何检索旧的文件名或该文件的旧文件路径,以了解我必须更新哪个数据库条目?我传递了该文件的父目录路径,因此我没有旧的文件名。

提前致谢

1 个答案:

答案 0 :(得分:1)

MOVE_TO之前应该有一个MOVED_FROM事件。 MOVED_FROM事件的路径应为旧文件名,而MOVED_TO中的路径应包含新文件名。

还要确保通过在FileObserver构造函数的flags参数中显式传递它来监视此事件类型。