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

Aza*_*lar 10 android

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

File dir = getCacheDir();
File output = new File(dir, ".nomedia");
boolean fileCreated = output.createNewFile();
Run Code Online (Sandbox Code Playgroud)

当我尝试这个fileCreated是false并且文件没有被创建.如果我使用没有点的nomedia文件被创建,但这没有用,因为MediaScanner正在查看.nomedia文件是否存在.

我还尝试使用FileOutputStream并在文件中写入数据,以防因为我只创建了一个空文件,但这也不起作用.

任何人都知道为什么会失败?

Chr*_*ron 9

嗯,你真的确定文件还不存在吗?请注意,您需要执行ls -a以查看以点开头的文件.

文件File.createNewFile()说:

如果已创建文件,则返回true;如果已存在,则返回false.

如果文件不是出于其他原因(即安全性)而创建的,则应抛出异常.