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

标签 android fileobserver

我的应用程序将录制的视频文件保存在外部目录的特定文件夹中,并在数据库中保存元数据,包括每个文件的路径。我需要观察删除、重命名和移动我的文件,以防使用新文件路径更新数据库。我在 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/

相关文章:

android - Android 中持久目录和缓存目录的区别?

java - 为什么 "ArrayList.remove"在局部变量和 myApplicationClass 中都被删除?

android - Kotlin - 类型不匹配所需的集合找到列表

java - findViewById() 无法在我的自定义适配器中解析

android - Google Drive Android SDK同步本地文件夹策略

android - android如何判断何时播放/暂停音乐

android - 关于从 Mediastore 获取数据的内部与外部 uri

android - Fileobserver 的 onevent 方法触发但我如何在删除任何文件之前获取文件

android - File Observer 无法通过 Intent 服务工作

java - Android:FileObserver 不会收到有关 FS 更改的通知