欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程判断SD卡是否存在及使用容量查询实现方法

程序员文章站 2023-11-28 21:56:46
本文实例讲述了android编程判断sd卡是否存在及使用容量查询实现方法。分享给大家供大家参考,具体如下: 1.判断sd卡是否存在 返回true表示存在 /*...

本文实例讲述了android编程判断sd卡是否存在及使用容量查询实现方法。分享给大家供大家参考,具体如下:

1.判断sd卡是否存在 返回true表示存在

/* 判断sd卡是否存在 返回true表示存在 */
public boolean avaiablemedia() {
  string status = environment.getexternalstoragestate();
  if (status.equals(environment.media_mounted)) {
   return true;
  } else {
   return false;
  }
}

2.获取sd卡可用空间

/* 获取sd卡可用空间 */
public long getsdfreesize() {
  // 取得sd卡文件路径
  file path = environment.getexternalstoragedirectory();
  statfs sf = new statfs(path.getpath());
  // 获取单个数据块的大小(byte)
  long blocksize = sf.getblocksizelong();
  // 空闲的数据块的数量
  long freeblocks = sf.getavailableblockslong();
  // 返回sd卡空闲大小
  // return freeblocks * blocksize; //单位byte
  // return (freeblocks * blocksize)/1024; //单位kb
  return (freeblocks * blocksize) / 1024 / 1024; // 单位mb
}

3.获取sd卡所有空间

/* 获取sd卡所有空间 */
public long getsdallsize() {
  // 取得sd卡文件路径
  file path = environment.getexternalstoragedirectory();
  statfs sf = new statfs(path.getpath());
  // 获取单个数据块的大小(byte)
  long blocksize = sf.getblocksizelong();
  // 获取所有数据块数
  long allblocks = sf.getblockcountlong();
  // 返回sd卡大小
  // return allblocks * blocksize; //单位byte
  // return (allblocks * blocksize)/1024; //单位kb
  return (allblocks * blocksize) / 1024 / 1024; // 单位mb
}

希望本文所述对大家android程序设计有所帮助。