我正在开发一款可以连接USB SD卡读卡器的应用。 问题是所有手机的USB路径都不一样。我知道在三星手机中,USB路径是" / storage / UsbDriveA /"
我的问题是如何找到所有手机设备的USB挂载路径?
谢谢
答案 0 :(得分:2)
private String getAllStoragePath() {
String finalPath = "";
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("mount");
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
String line;
String[] pathArray = new String[4];
int i = 0;
BufferedReader br = new BufferedReader(inputStreamReader);
while ((line = br.readLine()) != null) {
String mount = "";
if (line.contains("secure"))
continue;
if (line.contains("asec"))
continue;
if (line.contains("fat")) {// TF card
String columns[] = line.split(" ");
if (columns.length > 1) {
mount = mount.concat(columns[1] + "/someFiles");
pathArray[i++] = mount;
// check directory inputStream exist or not
File dir = new File(mount);
if (dir.exists() && dir.isDirectory()) {
// do something here
finalPath = mount;
break;
}
}
}
}
for(String path:pathArray){
if(path!=null){
finalPath =finalPath + path +"\n";
}
}
} catch (Exception e) {
e.printStackTrace();
}
return finalPath;
}