Android特殊目录

时间:2010-07-28 13:22:41

标签: android directory storage external

我看到,从API级别8开始,您可以使用Environment.getExternalStoragePublicDirectory()请求特殊目录的句柄。这采用DIRECTORY_MUSICDIRECTORY_PICTURES等类型

我正在寻找其他媒体类型的等效目录,例如文档(Word文档,PDF等)。我的HTC Desire有一个/sdcard/My Documents/文件夹,看起来就像我想要的那样,但它没有DIRECTORY_说明符用于上述方法。这是我可以依赖的标准Android目录吗?

如果我无法使用getExternalStoragePublicDirectory(),我必须使用getExternalStorageDirectory()代替我将其指向SD卡的根目录。我可以明确地检查根目录下是否存在My Documents,如果存在则使用它。

这就是我所拥有的:

 // default document save location
 File defaultSaveDir = Environment.getExternalStorageDirectory();
 File myDocs         = new File(defaultSaveDir, "My Documents");
 if (myDocs.exists() && myDocs.isDirectory())
     defaultSaveDir = myDocs;

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我的Nexus上没有“我的文件”。相反,我有一个“文档”目录。所以这不会以便携方式提供帮助。

使用SDK 8你应该使用getExternalFilesDir - 但要注意有一个问题。我在Blog写了一篇小文章。

最后我使用了:

final java.io.File Storage = android.os.Environment.getExternalStorageDirectory ();
final java.io.File Dir = new java.io.File (Storage, "Android/FX-603P");
Dir.mkdirs ();

我使用了“Android”基本目录,因为它似乎是自SDK8以来新的首选方式。