0

我将 FileObserver 连接到 /mnt/sdcard/X 中的特定目录及其后代递归。当我从手机本身(例如从 Gallery 应用程序)修改此目录的内容时,我的 FileObserver 的 onEvent() 被正确调用并且一切正常。

当我通过 USB 连接到计算机并切换到大容量存储模式时,通过计算机对同一目录所做的所有更改都不会转换为 FileObserver 的事件。FileObserver 是否存在不能在 USB 大容量存储中工作的限制?

我尝试了“adb push xx /mnt/sdcard/X/xx”,并且这个更改也被正确记录了。

4

1 回答 1

1

FileObserver 是否存在不能在 USB 大容量存储中工作的限制?

当通过 USB 大容量存储 (Android 1.x/2.x) 挂载时,Android 中的任何内容都不适用于外部存储。外部存储由安装它的操作系统专有。FileObserver当存储如此安装时,您将不会收到事件。

Android 3.0+ 使用媒体传输协议 (MTP) 而不是 USB 大容量存储,因此FileObserver应该可以在较新版本的 Android 上使用外部存储,即使另一个操作系统可以访问该存储。

于 2012-04-18T18:42:35.660 回答