【问题标题】:Android get all available storage devicesAndroid 获取所有可用的存储设备
【发布时间】:2011-11-15 08:46:10
【问题描述】:

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

提前致谢!

【问题讨论】:

标签: android android-sdcard


【解决方案1】:

我不知道其他类型的存储设备,我只知道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);

【讨论】:

  • getBlockSize() 已弃用,您可以直接使用path.getFreeSpace() 代替。
【解决方案2】:

试试这个..

public static boolean isSdCardPresent() {

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

        }

【讨论】:

    猜你喜欢
    • 2017-02-12
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多