【发布时间】:2013-07-24 19:02:08
【问题描述】:
我的应用程序必须监视目录的文件更改,并在进行更改时上传副本。为此,我使用了FileObserver。我将它上传到创建、移动到、关闭写入和修改。问题在于修改。每次将更改写入磁盘时都会调用 Modify很多次,它崩溃了。我的第一个想法是删除修改事件,以便仅在调用 Close Write 时上传。不幸的是,这并不总是被调用。所以我有点坚持修改。所以我的问题是:在检测文件修改结束时是否有最佳实践?我需要在修改完成后上传此文件,而不是同时。你会怎么做呢?如何发现最后一个 Modify 事件何时触发。我是否必须制作一个复杂的计时器系统,或者有更简单的方法。 (如果没有,你能告诉我制作这样一个计时器系统的最佳做法吗?)
我知道我已经问了很多,但如果有任何头脑风暴和想法,我将不胜感激。
谢谢!
编辑:所以我发现了一些奇怪的东西。至少在 Android 4.2 上,Open 永远不会触发,因此 close 永远不会触发。仅供参考。
【问题讨论】:
标签: android inotify fileobserver