java Android判断SD卡是否存在及容量查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Android判断SD卡是否存在及容量查询相关的知识,希望对你有一定的参考价值。

Android 判断SD卡是否存在及容量查询的简单方法如下:
首先要在AndroidManifest.xml中增加SD卡访问权限
[html]  view plain copy  在CODE上查看代码片  派生到我的代码片      
<!-- 在SDCard中创建与删除文件权限 -->  
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  
<!-- 往SDCard写入数据权限 -->  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>   
SD卡是否存在
[java]  view plain copy  在CODE上查看代码片  派生到我的代码片      
private boolean ExistSDCard() {  
  if (android.os.Environment.getExternalStorageState().equals(  
    android.os.Environment.MEDIA_MOUNTED)) {  
   return true;  
  } else  
   return false;  
 }  
SD卡剩余空间
[java]  view plain copy  在CODE上查看代码片  派生到我的代码片      
public long getSDFreeSize(){  
     //取得SD卡文件路径  
     File path = Environment.getExternalStorageDirectory();   
     StatFs sf = new StatFs(path.getPath());   
     //获取单个数据块的大小(Byte)  
     long blockSize = sf.getBlockSize();   
     //空闲的数据块的数量  
     long freeBlocks = sf.getAvailableBlocks();  
     //返回SD卡空闲大小  
     //return freeBlocks * blockSize;  //单位Byte  
     //return (freeBlocks * blockSize)/1024;   //单位KB  
     return (freeBlocks * blockSize)/1024 /1024; //单位MB  
   }      
SD卡总容量
[java]  view plain copy  在CODE上查看代码片  派生到我的代码片      
public long getSDAllSize(){  
     //取得SD卡文件路径  
     File path = Environment.getExternalStorageDirectory();   
     StatFs sf = new StatFs(path.getPath());   
     //获取单个数据块的大小(Byte)  
     long blockSize = sf.getBlockSize();   
     //获取所有数据块数  
     long allBlocks = sf.getBlockCount();  
     //返回SD卡大小  
     //return allBlocks * blockSize; //单位Byte  
     //return (allBlocks * blockSize)/1024; //单位KB  
     return (allBlocks * blockSize)/1024/1024; //单位MB  
   }      

以上是关于java Android判断SD卡是否存在及容量查询的主要内容,如果未能解决你的问题,请参考以下文章

Android判断SD卡是不是存在的实现

Android判断SD卡是不是存在的实现

Android判断是否存在外置SD卡(获取手机所有存储设备的路径)

怎么查看内存卡真实容量

android 判断一个文件是不是存在

Android HTTP下载文件并保存到本地或SD卡