Ach*_*ver 11 storage android sd-card android-external-storage
我添加了这一行来查找大小(内部和外部)大小,
return availableExternalMemorySize/(1024*1024);
Run Code Online (Sandbox Code Playgroud)
我在平板电脑上测试过.我得到内部和外部SD卡大小,因为,
在内部存储中:
在外部存储中:
但在Tablet中,我看到了设置.外部存储大小为8GB.但是,当我通过编程方式进行测试时,它向我展示了1.7 GB.
查找外部存储大小的步骤是什么?
MDM*_*lik 14
要获得外部SD卡可用的"空闲"空间以显示与菜单 - >设置 - > SD卡和电话存储号码一致的号码,请使用以下代码:
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
double sdAvailSize = (double)stat.getAvailableBlocks()
* (double)stat.getBlockSize();
//One binary gigabyte equals 1,073,741,824 bytes.
double gigaAvailable = sdAvailSize / 1073741824;
Run Code Online (Sandbox Code Playgroud)
以下是获取内部存储大小的方法:
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;
Run Code Online (Sandbox Code Playgroud)
以下是外部存储容量(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;
Run Code Online (Sandbox Code Playgroud)
简短说明
免费区块:
文件系统上空闲的块总数,包括保留块(普通应用程序不可用).
可用块:
文件系统上可用且可供应用程序使用的块数.
以下是检测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
}
Run Code Online (Sandbox Code Playgroud)
相关文档:http://developer.android.com/reference/android/os/StatFs.html
| 归档时间: |
|
| 查看次数: |
7468 次 |
| 最近记录: |