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