Android FileObserver只调用一次

Android FileObserver只调用一次,android,Android,我在活动的onCreate函数中声明了1个fileObserver。这是第一次,每当您对文件目录进行任何更改时(具体来说,我会删除文件夹),observer都会工作并广播一个意图。但从第二次开始,观察者停止工作,没有意图被广播。如果我将观察者移动到活动的开始位置,它就像一个符咒。但是根据这个概念,fileobserver一旦启动,就应该在后台继续工作。我在任何地方都不调用stopWatching()。任何帮助都将不胜感激 这是第一次,每当您对文件目录进行任何更改时 (具体地说,我删除了文件夹)

我在活动的onCreate函数中声明了1个fileObserver。这是第一次,每当您对文件目录进行任何更改时(具体来说,我会删除文件夹),observer都会工作并广播一个意图。但从第二次开始,观察者停止工作,没有意图被广播。如果我将观察者移动到活动的开始位置,它就像一个符咒。但是根据这个概念,fileobserver一旦启动,就应该在后台继续工作。我在任何地方都不调用stopWatching()。任何帮助都将不胜感激

这是第一次,每当您对文件目录进行任何更改时 (具体地说,我删除了文件夹)


事件发生时,
FileObserver
会自动停止,并且不会发生新事件,即使您稍后创建了同名文件夹也是如此。如果要在重新创建文件夹时继续监视,则需要创建一个新的
FileObserver

如何防止出现这种情况?我是否需要在onResume中一次又一次地创建观察者,或者其他一些方法是可能的。我尝试只监视FileObserver.DELETE事件,但没有帮助。我认为重新创建观察者是唯一的方法。这意味着您也需要监视父文件夹,以便知道何时创建目录。非常感谢您的回答,即使我也在考虑同样的问题,但正在寻找替代解决方案。让我们看看是否有其他人可以提供替代方案。重新创建观察者会导致内存泄漏,如果没有释放,有没有办法删除FileObserver?根据javadocs,FileObserver在没有更多引用时会被垃圾收集。