程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 路徑-各位android的高手,請問怎麼得到,判斷一台機器上usb盤的目錄是什麼

路徑-各位android的高手,請問怎麼得到,判斷一台機器上usb盤的目錄是什麼

編輯:編程綜合問答
各位android的高手,請問怎麼得到,判斷一台機器上usb盤的目錄是什麼

各位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)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved