【发布时间】:2013-06-26 03:33:10
【问题描述】:
我想在 android 中以编程方式查找有关设备内部和外部存储容量的信息。有什么想法吗?
【问题讨论】:
-
参考here
标签: android
我想在 android 中以编程方式查找有关设备内部和外部存储容量的信息。有什么想法吗?
【问题讨论】:
标签: android
您需要使用环境变量。 Environment.getExternalStorageDirectory(); 。 Environment.java 中有很多方法。这取决于您需要什么信息。例如,要获取外部存储名称,请使用 Environment.getExternalStorageDirectory().getName();
您还可以使用其他方法。对于内部存储,api 可能无法公开使用。
StatFs stat = new StatFs(type.getPath());
long bytesAvailable = (long)stat.getBlockSize()*(long)stat.getAvailableBlocks();
long megAvailable = bytesAvailable / (1024 * 1024);
Log.i("TAG","Available size in MB : "+megAvailable);
现在我们可以使用getAvailableBytes() api,而不是使用 API 级别 18 中已弃用的 getBlockSize。
其中type 是File 可能是Environment.getExternalStorageDirectory() 类型的对象
【讨论】: