在android中读取外部SD卡中的可用空间

在android中读取外部SD卡中的可用空间,android,android-external-storage,Android,Android External Storage,我写方法,但它只返回内部内存空间。但是我想要SD卡的可用空间大小 public static String getAvailableExternalMemorySize() { if (externalMemoryAvailable()) { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(pa

我写方法,但它只返回内部内存空间。但是我想要SD卡的可用空间大小

  public static String getAvailableExternalMemorySize() {
            if (externalMemoryAvailable()) {
                File path = Environment.getExternalStorageDirectory();
                StatFs stat = new StatFs(path.getPath());
                long blockSize = stat.getBlockSizeLong();
                long availableBlocks = stat.getAvailableBlocksLong();
                return formatSize(availableBlocks * blockSize);
            } else {
                return "Exception";
            }
        }
//这里返回MB

 public static String formatSize(long size) {
        String suffix = null;

        if (size >= 1024) {
            suffix = "KB";
            size /= 1024;
            if (size >= 1024) {
                suffix = "MB";
                size /= 1024;
            }
        }

        StringBuilder resultBuffer = new StringBuilder(Long.toString(size));

        int commaOffset = resultBuffer.length() - 3;
        while (commaOffset > 0) {
            resultBuffer.insert(commaOffset, ',');
            commaOffset -= 3;
        }

        if (suffix != null) resultBuffer.append(suffix);
        return resultBuffer.toString();
    }
//检查是否有外部存储器

 public static boolean externalMemoryAvailable() {
                return android.os.Environment.getExternalStorageState().equals(
                        android.os.Environment.MEDIA_MOUNTED);
            }

它只返回内部内存空间
。没有。外部存储空间。查看您使用的函数的函数名。这提供了外部存储路径。这确实与sd卡路径不同。
它只返回内部内存空间
。没有。外部存储空间。查看您使用的函数的函数名。这提供了外部存储路径。这确实与sd卡路径不同。