使用getExternalFilesDirs

时间:2017-12-29 08:55:43

标签: java android android-sdcard

我正在尝试开发一个需要从外部存储和外部安装的SD卡(如果有的话)读取访问权限的应用程序。但是,似乎在API 21之前没有官方API来访问外部SD卡。从API 21开始,有ACTION_OPEN_DOCUMENT_TREE意图操作。但我需要在我的应用程序中支持API 19。浏览SO,似乎大多数查找sdcards的过程大多是启发式的。我得到的一个想法是使用getExternalFilesDirs(null)[1].getAbsolutePath()documentation说:

  

返回所有应用程序特定目录的绝对路径   应用程序可以放置的共享/外部存储设备   它拥有的持久文件。这些文件是应用程序的内部文件,   并且通常不会被用户视为媒体。

在我的手机中,返回的路径为:

/storage/9057-287B/Android/data/com.tahsinalsayeed.codeviewer/files

现在我的想法是从Android开始直到路径结束。其余的是我的外部SDCard路径。在这种情况下,它是/storage/9057-287B。我想问一下这种方法是否可用于获取外部SD卡,在哪种情况下可能会失败。一种失败的情况是,此方法不会返回文档中提到的USB闪存驱动器。但是应该有安装的SD卡。

摘要:我可以使用getExternalFilesDirs(null)[1].getAbsolutePath()检索外部SD卡路径吗?在哪些情况下它可能会失败?

0 个答案:

没有答案