【问题标题】:Android special directoriesAndroid 特殊目录
【发布时间】:2011-03-22 03:52:22
【问题描述】:

我看到,从 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;

有没有更好的办法?

【问题讨论】:

    标签: android directory storage external


    【解决方案1】:

    我的 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 以来新的首选方式。

    【讨论】:

    • 谢谢,由于您提到的原因,我无法使用 getExternalFilesDir。遗憾的是,“我的文档”和“文档”在不同设备上的命名似乎不同。
    • 所以这毕竟是一个错误:groups.google.com/group/android-developers/browse_thread/thread/… 滚动到最后。我想知道所有设备更新需要多长时间。
    猜你喜欢
    • 2017-11-10
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    相关资源
    最近更新 更多