File.ListFiles返回Android上的过时文件列表

时间:2012-01-27 12:11:56

标签: android file android-activity

我有一个Android活动,它使用File.listFiles()函数从目录中获取文件列表。这将返回一个完全符合我预期的文件数组。此活动可以选择启动另一个允许用户在同一目录中创建新文件的活动。

当我从第二个活动返回时,创建了一个新文件,我再次调用File.listFiles()函数来获取更新列表,但返回的数组不包含新生成的文件。

当我重新启动应用程序时,文件列表是正确的,包含新创建的文件。就好像Activity正在缓存结果或不重新检查目录。

其他人有这个问题和/或知道如何修复它?

非常感谢,

克里斯

2 个答案:

答案 0 :(得分:0)

系统会在安装SD卡时扫描SD卡以查找任何新图像(和其他)文件。如果您以编程方式添加文件,则可以使用此类:

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

答案 1 :(得分:0)

我已经设法解决了这个问题。这个问题是由我在第二个活动的onStop()函数中编写文件引起的,这个函数似乎是在第一个活动的onResume()之后调用的。我已经编写代码来保存onBackButtonPress(),现在一切都按预期工作。