编写隐藏文件.nomedia在内部存储上失败

我想创build.nomedia文件在我将存储图像的内部caching目录中,并尝试以下..

File dir = getCacheDir(); File output = new File(dir, ".nomedia"); boolean fileCreated = output.createNewFile(); 

当我尝试这个fileCreated是错误的,该文件不会被创build。 如果我使用没有点的nomedia文件被创build,但是这是没有用的,因为MediaScanner正在查看.nomedia文件是否存在。

我也用FileOutputStream尝试了这一点,并在文件中写入数据,因为我只是创build了一个空文件,但这也不起作用。

任何人都有一个想法,为什么这可能是失败的?

嗯,你真的确定这个文件不存在吗? 请注意,您需要执行ls -a才能看到以点开头的文件。

File.createNewFile()的文档说:

如果文件已经创build,则返回true;如果文件已经存在,则返回false。

如果该文件不是由于其他原因(即安全性)而创build的,则应该抛出exception。