在所有版本中,我都能获得 SdCard 的详细信息,如序列号、CID 号......除了 Nougot 版本。
我正在使用以下方法获取 SdCard 详细信息。除牛轧糖外,所有版本都可以正常工作。这些路径在牛轧糖版本中返回 null
public void getCID() {
File input = new File("/sys/class/mmc_host/mmc1");
String cidDirectory = null;
File[] sid = input.listFiles();
for (int i = 0; i < sid.length; i++) {
if (sid[i].toString().contains("mmc1:")) {
cidDirectory = sid[i].toString();
String SID = (String) sid[i].toString().subSequence(cidDirectory.length() - 4, cidDirectory.length());
}
}
try {
BufferedReader CID = new BufferedReader(new FileReader(cidDirectory + "/cid"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
String getSDCARDiD() {
try {
File file = new File("/sys/block/mmcblk1");
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();
} catch (IOException e) {
e.printStackTrace();
}
return sd_cid;
}
- 为什么它给出 null 我不明白。
- 提前致谢
最佳答案
7.0以上我们必须使用 StorageVolume.getUuid()在您从 StorageManager 获得的 StorageVolume 上。
关于java - 如何在牛轧糖中以编程方式获取 SdCard cid 号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50289832/