Android,如何获取外部存储目录列表

时间:2017-01-09 10:55:49

标签: android storage

我正在开发一个从网络下载大量数据(大约5 GB)的应用程序。由于内部存储磁盘空间,我想让用户选择" sd card"目的地:内部SD卡或外部SD卡(micro sd)。 考虑到每个制造商的路径可以改变,我如何检索所有" sd卡的列表"可用? (即使是仅用于三星平板电脑的内部应用程序)

2 个答案:

答案 0 :(得分:0)

你可以通过多种方式做到这一点。

首先:'旧方式'使用getExternalFilesDirs()。第一个条目是外部存储器。 (由getExternalFilesDir()提供的相同)。 sd卡的第二个条目。第三个是USB OTG驱动器。

第二:使用Storage Access Framework并让用户使用Intent.ACTION_OPEN_DOCUMENT_TREE

第三:仅适用于Android 7。 Use Volume Manager

答案 1 :(得分:0)

试试这个:

内部记忆:

String extStore = System.getenv("EXTERNAL_STORAGE");
File f_exts = new File(extStore);

外部SD卡:

String secStore = System.getenv("SECONDARY`_STORAGE");
File f_secs = new File(secStore);