今天做工程时遇到这么一个问题:
手机有2张储存卡,如何获取两张卡的路径,便于寻找某个文件呢?
参考了一些文档,得到以下信息:
1、各种android设备的存储器路径,是不一样的.比如T卡路径,可能是/mnt/sdcard、/mnt/extsd、/mnt/external_sd或者/mnt/sdcard2,有时内置存储器的路径也可能是/mnt/sdcard,而host usb存储器的路径也是各种各样的。
因此,想要运行在各种android设备上的应用,就必须在运行期间动态获取各个可用的存储器路径,避免一个存储器空间不足就不能运行的问题。可以通过反射,调用StorageManager的隐藏函数getVolumePaths(),实现获取存储器列表。
2、为什么会有隐藏函数?针对getVolumePaths()--->我发现android2.3.3的android.os.storage.StorageManager.java没有该隐藏函数(标注为@hide),android4.0的有,于是改android SDK为android4.0
Hidden API之所以被隐藏,是想