Android(安卓)判断SD卡是否存在及容量查询
16lz
2021-12-04
Android 判断SD卡是否存在及容量查询的简单方法如下:
首先要在AndroidManifest.xml中增加SD卡访问权限
SD卡是否存在
SD卡剩余空间
SD卡总容量
首先要在AndroidManifest.xml中增加SD卡访问权限
<!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
SD卡是否存在
private boolean ExistSDCard() { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { return true; } else return false; }
SD卡剩余空间
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卡总容量
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
更多相关文章
- Android(安卓)版本分布数据:Android(安卓)2.3 估超过 50%
- listview超强优化
- 善用Android预定义样式
- 2013.04.03——— android 图片缓存之二LruCache介绍
- Android杂谈---Android几种预定义样式
- Android发送SOAP数据给服务器调用webservice,实现手机号归属地查
- Android中构建数据业务应用
- Android的四大天王
- Android存储-SharedPreferences