我的应用程序将录制的视频文件保存在外部目录的特定文件夹中,并在数据库中保存元数据,包括每个文件的路径。我需要观察删除、重命名和移动我的文件,以防使用新文件路径更新数据库。我在 android 中阅读了 FileObserver
。如果我将我在 SD 卡中的目录路径(例如 /storage/emulated/0/my_recordings
)作为我的 FileObserver
的输入路径,那么我所有的事件都会被触发输入路径中的文件,并且它还会为 MOVED_TO
事件类型触发,我用它来观察目录下文件的重命名操作,我将获得新的相对 path
我的文件在 onEvent (int event, String path)
的路径参数中,但是如何检索该文件的旧文件名或旧文件路径以了解我必须更新哪个数据库条目?我传递了该文件的父目录路径,所以我没有旧文件名。
提前致谢
最佳答案
在 MOVE_TO 之前应该有一个 MOVED_FROM 事件。 MOVED_FROM 事件的路径应该是旧文件名,而 MOVED_TO 中的路径应该包含新文件名。
还要确保通过在 FileObserver 构造函数的标志参数中显式传递它来监视此事件类型。
关于android - 在观察目录下检索重命名文件的新旧路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28333608/