2012-01-27 44 views
0

我有一個Android活動,它使用File.listFiles()函數從目錄中獲取文件列表。這完全按照我的預期返回文件數組。此活動可以選擇啓動另一個允許用戶在同一目錄中創建新文件的活動。File.ListFiles返回Android上的日期文件列表

當我從第二個活動返回時,創建了一個新文件後,我再次調用File.listFiles()函數以獲取更新列表,但返回的數組不包含新生成的文件。

當我重新啓動應用程序的文件列表是正確的,包括新創建的文件。就好像Activity正在緩存結果或不重新檢查目錄。

其他人有這個問題和/或知道如何解決它?

非常感謝,

克里斯

回答

0

我已經成功,現在解決這個問題。這個問題是由於我在第二個activity的onStop()函數中寫入文件的事實造成的,該函數似乎是在第一個activity的onResume()之後調用的。我已經chnaged代碼保存onBackButtonPress(),現在一切都按預期工作。

0

系統掃描時,它被安裝到發現新的圖像(或其他)文件的SD卡。如果以編程方式添加一個文件,那麼你可以使用這個類:

http://developer.android.com/reference/android/media/MediaScannerConnection.html

+0

是否需要重新掃描SD卡?我認爲mediascanner被用於** Android **以瞭解任何新文件。 File.listFiles是一個標準的Java函數,我不會認爲它會對Android代碼有任何依賴嗎? – Chris 2012-01-28 10:55:32

+0

如果你想激活android系統開始掃描,你需要廣播消息指示sd卡被掛載。然後android系統會自動做到這一點。 – jeet 2012-01-28 10:58:23