各位android的高手,請問怎麼得到,判斷一台機器上usb盤的目錄是什麼
或者怎麼判斷一個路徑是不是usb盤的
一個實例如下(我現在的一個android設備現狀):
1,有內部存儲器sdcard,具體路徑:/mnt/sdcard
2,有tf卡,具體路徑:/mnt/ext_sd
3,有u盤,具體路徑:/mnt/usbhost1
我可以得到/mnt/usbhost1,並且確定其是u盤的路徑
但是其他設備不一定會和我這個設備相同,
比如有的設備u盤路徑可能是/mnt/sda1,tf卡設備路徑可能是/mnt/tfcard
我想知道有沒有方法可以獲取到/mnt/sda1,並且確定其是u盤的路徑而不是tf卡路徑
我現在是通過以下方法判斷的
String devicePath = intent.getDataString().toLowerCase().substring(7);
if (devicePath.contains("usb"))
{
//這個是u盤
}
但是這並不准確,如上面的/mnt/sda1
public static String getExtSDCard(){
File[] files=new File("/mnt").listFiles();
String sdcard=Environment.getExternalStorageDirectory().getAbsolutePath();
String file;
for (int i = 0; i < files.length; i++) {
file=files[i].getAbsolutePath();
if(!file.equalsIgnoreCase(sdcard)&&file.contains("ext")){
return file;
}
}
return null;
}
你可以這麼做 根據經驗所有sdcard都在mnt下面 首先獲取默認sdcard的路徑 然後遍歷mnt下面的所有設備 如果出了默認sdcard之外還有別的設備名字包含"ext"字符的 則返回該設備名字(極大可能是擴展sdcard)