Java 如何获得Android SD卡的大小?
首先,我想说,是的,我已经阅读并尝试了关于这个主题的每一个问题,所以请不要把我和其他答案联系起来。例如,我尝试了类似的操作,但返回的结果与内部存储相同。我有大约12GB的内部存储空间和4GB的SD卡存储空间,但无论我使用什么方法,我都会得到与内部空间完全相同的SD空间数字。有没有其他方法来获取SD卡空间?好吧,我最后编写了一段代码,使用文件Java 如何获得Android SD卡的大小?,java,android,storage,Java,Android,Storage,首先,我想说,是的,我已经阅读并尝试了关于这个主题的每一个问题,所以请不要把我和其他答案联系起来。例如,我尝试了类似的操作,但返回的结果与内部存储相同。我有大约12GB的内部存储空间和4GB的SD卡存储空间,但无论我使用什么方法,我都会得到与内部空间完全相同的SD空间数字。有没有其他方法来获取SD卡空间?好吧,我最后编写了一段代码,使用文件/etc/vold.fstab来获取所有实际的外部存储设备。在连接了扩展底座并安装了存储设备的TF101上,这将正确返回microSD、SD和usb驱动器的路
/etc/vold.fstab
来获取所有实际的外部存储设备。在连接了扩展底座并安装了存储设备的TF101上,这将正确返回microSD、SD和usb驱动器的路径
private ArrayList<String> extStorageLoc(){
String[] toSearch = readFile("/etc/vold.fstab").split(" ");
ArrayList<String> out = new ArrayList<String>();
for(int i = 0; i < toSearch.length; i++){
if(toSearch[i].contains("dev_mount")){
if(new File(toSearch[i+2]).exists()){
out.add(toSearch[i+2]);
}
}
}
return out;
}
private ArrayList extStorageLoc(){
字符串[]toSearch=readFile(“/etc/vold.fstab”).split(“”);
ArrayList out=新的ArrayList();
for(int i=0;i
您试过这个吗?这可能会有帮助(在C/C++中,但在Java中也会有类似的效果)@PandaConda谢谢,我用Java尝试了这个实现,但是返回了一个0值。如果你们都好奇的话,我已经用下面写的一些代码来回答了。