如何在android中创建内部内存中的公共目录

时间:2015-07-17 14:09:13

标签: android file memory directory

我想在Environment.DIRECTORY_PICTURES目录下创建一个非私有的子目录。我使用下面显示的代码但无济于事。目录已创建但仍保持私有。我不知道我哪里错了。

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "MyImages");
file.mkdirs();
File f = new File(file,"Image1");

1 个答案:

答案 0 :(得分:1)

首先,您尚未创建文件,至少在上面显示的代码中。您已经创建了一个Java File对象,并且创建了一个目录,但是没有为Image1创建文件,因此您的目录为空。我知道没有办法强制你的空目录被任何东西选中,但是如果你使用 adb shell 或DDMS检查你的设备,你会看到它。

当您最终将文件写入此目录时,请确保在getFD().sync()该流之前致电FileOutputStream上的close()。然后,使用MediaScannerConnection及其静态scanFile()方法让新创建的文件由MediaStore编入索引。在您执行此操作之前,新创建的文件将无法通过MTP或许多第三方应用程序显示。