gpt4 book ai didi

android - 获取 Android 上的所有总空间和可用空间

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:32:01 25 4
gpt4 key购买 nike

据我所知,在 Android 上,有:

  • 应用程序和缓存的内部存储器
  • 部分手机内置 SD 卡(不可移动)
  • 用于存储音乐和照片的外部 SD 卡(可移动)

我如何通过检查它们是否存在来获得总数和可用量(有些手机没有内置 SD 卡)

谢谢

最佳答案

以下是获取内部存储大小的方法:

 StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());        
long blockSize = statFs.getBlockSize();
long totalSize = statFs.getBlockCount()*blockSize;
long availableSize = statFs.getAvailableBlocks()*blockSize;
long freeSize = statFs.getFreeBlocks()*blockSize;

以下是获取外部存储大小(SD 卡大小)的方法:

 StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath());        
long blockSize = statFs.getBlockSize();
long totalSize = statFs.getBlockCount()*blockSize;
long availableSize = statFs.getAvailableBlocks()*blockSize;
long freeSize = statFs.getFreeBlocks()*blockSize;

简短的笔记

空闲 block :

The total number of blocks that are free on the file system, including reserved blocks (that are not available to normal applications).

可用 block :

The number of blocks that are free on the file system and available to applications.


检测SD卡是否挂载的方法如下:

 String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state))
{
// We can read and write the media
}
else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
// We can only read the media
}
else
{
// No external media
}

关于android - 获取 Android 上的所有总空间和可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com