Din*_*ati 13
以下是获取SID和CID的示例代码
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.d(TAG, " SID of MMC = " + SID);
break;
}
}
BufferedReader CID = new BufferedReader(new FileReader(
cid_directory + "/cid"));
String sd_cid = CID.readLine();
Log.d(TAG, "CID of the MMC = " + sd_cid);
} catch (Exception e) {
Log.e("CID_APP", "Can not read SD-card cid");
}
} else {
Toast.makeText(this, "External Storage Not available!!",
Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
我设法通过USB将手机插入电脑并使用adb工具(Android SDK)找到我的SD卡CID
$ adb shell
# cat /sys/block/mmcblk0/../../cid
Run Code Online (Sandbox Code Playgroud)
我的手机根植了,所以我不确定这是否可以在非root手机上访问.
也试试
$ adb shell
# cd /sys/block/mmcblk0/../../
# ls
block fwrev preferred_erase_size
cid hwrev scr
csd manfid serial
date name subsystem
driver oemid type
erase_size power uevent
Run Code Online (Sandbox Code Playgroud)
这些内核文档中解释http://www.mjmwired.net/kernel/Documentation/mmc/mmc-dev-attrs.txt
到目前为止,我发现唯一提供ID的代码是C ++或C#
http: //jo0ls-dotnet-stuff.blogspot.com/2008/12/read-secure-digital-sd-card-serial.html
http: //jo0ls-dotnet-stuff.blogspot.com/2008/12/read-cid-and-csd-c-implementation.html
如果您是C ++开发人员,则可以使用它并使其在Android上运行。
小智 5
我做了这个...它对我有用...希望它能让你清楚!
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();
//System.out.println(sd_cid);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sd_cid;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40030 次 |
最近记录: |