我看到,从API级别8开始,您可以使用Environment.getExternalStoragePublicDirectory()
请求特殊目录的句柄。这采用DIRECTORY_MUSIC
,DIRECTORY_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;
有更好的方法吗?
答案 0 :(得分:2)
使用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以来新的首选方式。