关于Internal和External,有一篇文章描述很好:http://www.open-open.com/lib/view/open1462850158141.html,本文只在此基础上进行补充和总结。
(1)external:包括手机内部存储分出来的external部分以及外接的存储设备如SD
(2)可以使用Context.getExternalFilesDirs(null)来获取所有external的存储路径。由于该方法不是static,所以需要context对象来调用,所以获得的路径与context(即与APP)有关。但是可以从中提出出公共的路径。 方法获取到的是一个File数组,再从file对象获取path,第0个代表机器Primary路径,剩余的代表外接设备的存储路径。
(3)可以通过反射方法调用StorageManager.getVolumeList()方法,返回StorageVolume[]数组,每个StorageVolume对象包含路径、是否是Primary以及状态信息。