天天看點

擷取SD卡的唯一辨別

因為項目的需求,需要擷取SD卡的唯一辨別,找了多方資料,最後在google上面看到解決辦法,在這裡做筆記以防止忘記

我的demo代碼

private String getSDCid(){
        StringBuilder stringB = new StringBuilder();
        if (isExteranlStorageAvailable()) {
            try {
                File input = new File("/sys/class/mmc_host/mmc1");
                String cid_directory = null;
                int i = 0;
                File[] sid = input.listFiles();

                for (i = 0; i < sid.length; i++) {
                    if (sid[i].toString().contains("mmc1:")) {
                        cid_directory = sid[i].toString();
                        String SID = (String) sid[i].toString().subSequence(
                                cid_directory.length() - 4,
                                cid_directory.length());
                        Log.e(TAG, " SID of MMC = " + SID);
//                        stringB.append("==SID=="+SID);
                        break;
                    }
                }
                BufferedReader CID = new BufferedReader(new FileReader(
                        cid_directory + "/cid"));
                String sd_cid = CID.readLine();
                Log.e(TAG, "CID of the MMC = " + sd_cid);
                stringB.append("==sd_cid=="+sd_cid);

            } catch (Exception e) {
                Log.e(TAG, "Can not read SD-card cid");
            }

        } else {
            Log.e(TAG, "External Storage Not available!!");
        }

        return stringB.toString();
    }
           

因為是demo,是以上面的那個判斷直接用true替換就可以了