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

标签 android android-sdcard

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

提前致谢!

最佳答案

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

现在检查可用的外部存储之类的东西,

public static boolean isSdPresent() {

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

}

return type boolean(true->available,false->NA).

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

File path = Environment.getDataDirectory();

现在,在这两种情况下检查可用内存和使用内存,

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

关于Android获取所有可用的存储设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8133601/

相关文章:

Android maps v2 Api 需要元数据

Android - 拍照并通过 Intent 使用自定义名称将它们保存到自定义目的地

java - 如何在运行 KITKAT 的设备上使用新的 Lollipop SD 卡访问 API?

android - Android 模拟器中不支持的虚拟 SD 卡

安卓分享图片不工作

Android:从 SD 卡显示图像

android - 从 Android 应用程序开始在 Smartwatch 2 上布局

android - 与 EditText 的两种方式数据绑定(bind)

java - 带有 ImageView 和按钮的 ListView 自定义适配器

java - 当有事务正在进行时,无法启用或禁用 SQLite 外键约束