Android获取所有可用的存储设备

And*_*oid 3 android android-sdcard

是否有任何功能/方法可以使用其名称来检测手机的各种不同存储方式。我的意思是检测设备上是否有多个内部/外部存储。以及如何检测是否有可用的SD卡?

提前致谢!

use*_*305 5

我不知道其他类型的存储设备,我只知道适用于Android的内部存储和外部存储设备。

现在要检查可用的外部存储空间,例如

public static boolean isSdPresent() {

return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);

}

return type boolean(true->available,false->NA).
Run Code Online (Sandbox Code Playgroud)

对于内部存储,(内部存储始终保持(存在),因此无需检查),就像这样,

File path = Environment.getDataDirectory();
Run Code Online (Sandbox Code Playgroud)

现在,在两种情况下都要检查可用的空闲内存和使用情况内存,

StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return Formatter.formatFileSize(this, availableBlocks * blockSize);
Run Code Online (Sandbox Code Playgroud)