在前期最开发的时候我发现目前由于安卓的开放性,倒是各个厂商在不断的修改系统,以至于不同的品牌的SD卡、自带存储、USB存储的路径都有所不同,所以想要寻找全部路径还是比较麻烦的,经过无数次的搜索和实验我得到了如下代码,并在多块平板上实验得知是可以的。希望对您有用!
StorageManager storageManager = (StorageManager) activity.getSystemService(Context.STORAGE_SERVICE);
try{
Class<?>[] paramClasses={};
Method getVolumePathsMethod = StorageManager.class.getMethod("getVolumePaths", paramClasses);
getVolumePathsMethod.setAccessible(true);
Object[] params={};
Object invoke = getVolumePathsMethod.invoke(storageManager, params);
for (int i = 0; i<((String[])invoke).length;i++)
{
System.out.println(((String[])invoke));
}
}catch(NoSuchMethodException e1)
{e1.printStackTrace();
}catch(IllegalArgumentException e)
{e.printStackTrace();
}catch(IllegalAccess囧Exception e)
{e.printStackTrace();
}catch(InvocationTargetException e)
{e.printStackTrace();}
文章评论(0条评论)
登录后参与讨论