今天做一个简单的需求,获取手机里面的视频文件百度很多方法都不行,后面通过反射StorageManager获取内外路径。还是挺简单的方法如下
private static String getStoragePath(Context mContext, boolean is_removale) {
// is_removale false代表获取内置存储 true 代表外置sd卡根路径
StorageManager mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);
Class<?> storageVolumeClazz = null;
try {
storageVolumeClazz = Class.forName("android.os.storage.StorageVolume");
Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList");
Method getPath = storageVolumeClazz.getMethod("getPath");
Method isRemovable = storageVolumeClazz.getMethod("isRemovable");
Object result = getVolumeList.invoke(mStorageManager);
final int length = Array.getLength(result);
for (int i = 0; i < length; i++) {
Object storageVolumeElement = Array.get(result, i);