if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
{
System.out.println("sd card present");
}
通过使用此代码,我可以找到sd卡,但我无法识别它是哪一张sd卡。是内置的sd或者是外部的..。
http://androidforums.com/samsung-galaxy-s2-t/557831-am-i-saving-sdcard-not.html请参考此链接一次.
在SGS2上,三星有一个2GB的系统分区,其余的14 GB分区通过制作挂载点/sdcard被识别为sd卡。除此之外,我们还可以在该设备中安装一个外部可移动sd卡。然后,如何通过编程识别外部可移动sd卡。
发布于 2012-07-14 03:34:31
String sdcardpath = null;
File[] faFiles = new File("/mnt").listFiles();
abc: {
for (File file : faFiles) {
if (file.isDirectory()) {
String pathMain = "" + file.getAbsolutePath();
Log.v("@@@@@@@@@@@@@@@@", "222222222222" + pathMain);
if (pathMain.indexOf("ext") > 0&&pathMain.startsWith("/mnt/")) {
File fp = new File(pathMain);
if (fp.canWrite()) {
Log.v("@@@@@@@@@@@@@@@@", "33333333333333333"
+ pathMain);
//external sd card is there..
sdcardpath = pathMain;
break abc;
}
else{
}
} else {
if (pathMain.indexOf("sd") > 0) {
File fp = new File(pathMain);
if (fp.canWrite()) {
Log.v("@@@@@@@@@@@@@@@@", "33333333333333333"+ pathMain);
sdcardpath = pathMain;
//internal sd card is there..
}
}
}
}
}
}
https://stackoverflow.com/questions/11329137
复制相似问题