在某些设备上,外部sdcards安装在/ mnt / sdcard / tflash中。 现在我需要找出外部SD卡上有多少可用空间。
我无法测试,所以我不确定以下是否返回/ mnt / sdcard / tflash的大小/ mnt / sdcard
StatFs stat = new StatFs("/mnt/sdcard/tflash");
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
任何提示如何找到/ mnt / sdcard / tflash或/ mnt / sdcard / external_sd的空闲空间
答案 0 :(得分:3)
不幸的是,Android确实没有真正的“外部SD卡”的概念,事实上,他们的外部存储通常被称为人们通常认为是内部存储器的东西(比如嵌入设备的8gb!)
Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard"
Environment.getExternalStorageDirectory()是设备制造商认为是“外部存储”的任何内容。有时这是真正的可移动存储,有时它不是!!
我讨厌破坏泡泡,但是除了手动检查像/ mnt / sdcard / external_sd之类的路径,检查它们是否存在,然后检查大小之外,没有办法。这就是我最终为我的应用做的事情:(
答案 1 :(得分:0)
尝试
StatFs st = new StatFs(Environment.getExternalStorageDirectory().getPath());
long sdcardSize = (long) st.getBlockSize() * (long) st.getBlockCount();