想计算SDCard大小和使用情况时, 只需要得到SD卡总共拥有的Block数或是剩余没用的Block数,再乘以每个Block的大小就是相应的容量大小了单位byte.(见代码)

  Java代码

  public void SDCardSizeTest() {

  // 取得SDCard当前的状态

  String sDcString = android.os.Environment.getExternalStorageState();

  if (sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {

  // 取得sdcard文件路径

  File pathFile = android.os.Environment

  .getExternalStorageDirectory();

  android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());

  // 获取SDCard上BLOCK总数

  long nTotalBlocks = statfs.getBlockCount();

  // 获取SDCard上每个block的SIZE

  long nBlocSize = statfs.getBlockSize();

  // 获取可供程序使用的Block的数量

  long nAvailaBlock = statfs.getAvailableBlocks();

  // 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)

  long nFreeBlock = statfs.getFreeBlocks();

  // 计算SDCard 总容量大小MB

  long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024;

  // 计算 SDCard 剩余大小MB

  long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;

  }// end of if

  // end of func

  转载自:http://crackren.javaeye.com/blog/747121

更多相关文章

  1. [Android]根据名称name来获取string的值
  2. Android(安卓)项目如何获取MD5和SHA1
  3. Android的ViewPager中移除Fragment
  4. Android系统详解之获取图片和视频的缩略图
  5. Android(安卓)获取、移除 View 的 OnClickListener
  6. Android(安卓)Connectivity分析(1)- ConnectivityManager
  7. Android中获取应用程序(包)的大小-----PackageManager的使用(二)
  8. Android(安卓)Http访问网络 学习(慕课网学习)
  9. Android应用请求获取Root权限

随机推荐

  1. Momo自定义DialogFragment
  2. Android Studio NDK Opencv fatal error:
  3. Android学习笔记_20_访问应用权限汇总
  4. Android应用程序启动过程源代码分析(3)
  5. Android Glide加载四周圆角图
  6. MultiDex 遇到的大坑
  7. android 工程,点击图片,在屏幕显示
  8. CheckedTextView 复选框左显示
  9. Android RecyclerView多个Item布局的实现
  10. Android sensor 学习--sensor介绍