Android获得内/外置存储卡路径的方法
我们知道Android上一般都有外置的存储卡,
但是通过Environment.getExternalStorageDirectory()获取的是内置的存储卡位置(也有的手机可以在系统中修改默认存储)那么如何获取外置存储卡的位置呢?
我们可以通过StorageManager来获取多个外置sdcard,代码如下:
StorageManagerstorageManager=(StorageManager)cxt.getSystemService(Context.STORAGE_SERVICE);
try{
Methodmethod=StorageManager.class.getDeclaredMethod("getVolumePaths");
method.setAccessible(true);
Objectresult=method.invoke(storageManager);
if(result!=null&&resultinstanceofString[]){
String[]pathes=(String[])result;
StatFsstatFs;
for(Stringpath:pathes){
if(!TextUtils.isEmpty(path)&&newFile(path).exists()){
statFs=newStatFs(path);
if(statFs.getBlockCount()*statFs.getBlockSize()!=0){
pathsList.add(path);
}
}
}
}
}catch(Exceptione){
e.printStackTrace();
FileexternalFolder=Environment.getExternalStorageDirectory();
if(externalFolder!=null){
pathsList.add(externalFolder.getAbsolutePath());
}
}
}
returnpathsList.toArray(newString[pathsList.size()]);
以上所述是小编给大家介绍的Android获得内/外置存储卡路径的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!