/**
* 判断是否有外置SD卡挂载
* @return
*/
public boolean isExternalSdMount(){
List<String> extPath = getAllExterSdcardPath();
for (int i = 0; i < extPath.size(); i++) {
if (!extPath.get(i).equals(Environment.getExternalStorageDirectory().getAbsolutePath())) {
Log.e("path", extPath.get(i));
return true;
}
}
return false;
}
/**
* 查找所有sd卡
* @return
*/
public static List<String> getAllExterSdcardPath() {
List<String> SdList = new ArrayList<String>();
// 得到路径
try {
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("mount");
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
String line;
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
// 将常见的linux分区过滤掉
if (line.contains("secure"))
continue;
if (line.contains("asec"))
continue;
if (line.contains("media"))
continue;
if (line.contains("system") || line.contains("cache")
|| line.contains("sys") || line.contains("data")
|| line.contains("tmpfs") || line.contains("shell")
|| line.contains("root") || line.contains("acct")
|| line.contains("proc") || line.contains("misc")
|| line.contains("obb")) {
continue;
}
if (line.contains("fat") || line.contains("fuse") || (line
.contains("ntfs"))) {
String columns[] = line.split(" ");
if (columns != null && columns.length > 1) {
String path = columns[1];
if (path!=null&&!SdList.contains(path)&&path.contains("sd")){
SdList.add(columns[1]);
Log.e("kkkkkkkk", path);
}
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return SdList;
}