Android get id of SD Card programmatically

前端 未结 2 1153
情深已故
情深已故 2021-01-25 08:17

Is there any way which I can get some specific identifier/serial number of current SD Card in Android devices programmatically?

2条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-25 09:09

    Yes, try this:

    public String getSDCARDiD()
        {
            String sd_cid = null;
            try {
    
                File file = new File("/sys/block/mmcblk1");
                String memBlk;
                if (file.exists() && file.isDirectory()) {
    
                    memBlk = "mmcblk1";
                } else {
                    //System.out.println("not a directory");
                    memBlk = "mmcblk0";
                }
    
                Process cmd = Runtime.getRuntime().exec("cat /sys/block/"+memBlk+"/device/cid");
                BufferedReader br = new BufferedReader(new InputStreamReader(cmd.getInputStream()));
                sd_cid = br.readLine();
                //System.out.println(sd_cid);
    
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return sd_cid;
        }
    

提交回复
热议问题