在android上获取外部存储父文件夹

时间:2014-03-07 10:50:08

标签: android android-file

我在Play商店中有一个应用程序,并且用户向我发送了一个错误报告,说明在他的设备上外部存储设备列表中未列出外部SD卡,但是已安装并可在{{1 }}

我有一个列出文件夹的对话框,起始目录是/mnt/external_sd。 在单击一下以访问父文件夹后,到达Environment.getExternalStorageDirectory()文件夹,/storage返回null。 我应该设置哪个起始文件夹才能访问完整的存储结构?

修改 作为一种解决方法,我在我的应用偏好中添加了选择存储根目录应该是getParent()还是硬编码Environment.getExternalStorageDirectory()的功能。

评论/回答是否有最好的选择。

1 个答案:

答案 0 :(得分:0)

  

在Android

上获取外部存储父文件夹

通过外部存储,我假设您的意思是微型SD卡存储。

  

外部SD卡未列在外部存储设备列表中,   虽然已在/mnt/external_sd

安装和访问

您无法使用Environment.getExternalStorageDirectory()方法访问SD存储空间。

API级别19 之前,无法正式存储在SD卡中。但是,许多人可以使用非官方API来做到这一点。

正式地,在API级别19(Android版本4.4 - Kitkat)的Context类中引入了一种方法。

File[] getExternalFilesDirs (String type)
  

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

这意味着,它将返回Micro SD卡和内部存储器的路径。通常,第二个返回路径将是micro SD卡的存储路径。

根据Google / official Android docs,内部和外部存储术语 与我们的想法完全不同