2012-12-19 66 views
0

我在一個activity的onCreate函數中聲明瞭1個fileObserver。這是第一次,每當你對文件目錄進行任何改變(具體來說我刪除文件夾),觀察者就會工作並廣播一個意圖。但從第二次開始,觀察員停止工作,沒有意圖被播出。如果我將觀察者移動到活動的onResume,它就像魅力一樣。但是按照這個概念,fileobserver一旦啓動就應該在後臺繼續工作。我不會在任何地方調用stopWatching()。任何幫助,將不勝感激。FileObserver不能正常工作

回答

1

這是第一次,當你做任何更改文件目錄 (具體我刪除的文件夾

DELETE_SELF事件FileObserver停止本身並沒有新的事件發生即使您稍後創建了一個具有相同名稱的文件夾也是如此。如果要在重新創建文件夾時繼續監視,則需要創建一個新的FileObserver

+0

可以做些什麼來防止這種情況?我是否需要在onResume中一次又一次創建觀察者,或者有其他方式。我試圖只監視FileObserver.DELETE事件,但沒有幫助。 –

+0

我認爲重新創建觀察者是唯一的方法。這意味着您需要監視父文件夾以瞭解目錄何時創建。 – 1615903

+0

非常感謝您的回答,即使我在考慮同樣的問題,但正在尋找替代解決方案。讓我們看看是否有其他人可以提供替代方案。 –