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