相关疑难解决方法(0)

Android获得内部/外部内存的免费大小

我想以编程方式获取设备内部/外部存储空闲内存的大小.我正在使用这段代码:

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
Log.e("","Available MB : "+megAvailable);

File path = Environment.getDataDirectory();
StatFs stat2 = new StatFs(path.getPath());
long blockSize = stat2.getBlockSize();
long availableBlocks = stat2.getAvailableBlocks();
String format =  Formatter.formatFileSize(this, availableBlocks * blockSize);
Log.e("","Format : "+format);
Run Code Online (Sandbox Code Playgroud)

而我得到的结果是:

11-15 10:27:18.844: E/(25822): Available MB : 7572
11-15 10:27:18.844: E/(25822): Format : 869MB
Run Code Online (Sandbox Code Playgroud)

问题是我想获得1,96GB现在的SdCard的免费记忆.如何修复此代码,以便获得免费大小?

android diskspace android-sdcard

89
推荐指数
10
解决办法
8万
查看次数

有没有办法在Android中获得SD卡大小?

欢迎大家

我已经在Stackoverflow和谷歌中尝试了与此相关的所有问题,但没有一个有效.我尝试了类似下一个链接,但它返回与内部存储相同:如何获得外部存储SD卡大小(带有挂载的SD卡)?

例如,如果我有大约12GB的内部存储空间和4GB SD卡存储空间,无论我使用什么方法,我总是得到与内部空间完全相同的SD空间数.

似乎在Stackoverflow中发布的旧方法仅适用于Android KitKat,但在下一个Android版本中不起作用.

有可能解决这个问题吗?

storage android sd-card android-sdcard

6
推荐指数
1
解决办法
2327
查看次数

标签 统计

android ×2

android-sdcard ×2

diskspace ×1

sd-card ×1

storage ×1