Android(安卓)判断SD卡是否存在及容量查询
16lz
2022-01-15
转载:http://blog.csdn.net/xinzheng_wang/article/details/7827775
Android 判断SD卡是否存在及容量查询的简单方法如下:
首先要在AndroidManifest.xml中增加SD卡访问权限
- <!--在SDCard中创建与删除文件权限-->
- <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <!--往SDCard写入数据权限-->
- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
SD卡是否存在
[java] view plain copy- privatebooleanExistSDCard(){
- if(android.os.Environment.getExternalStorageState().equals(
- android.os.Environment.MEDIA_MOUNTED)){
- returntrue;
- }else
- returnfalse;
- }
SD卡剩余空间
[java] view plain copy- publiclonggetSDFreeSize(){
- //取得SD卡文件路径
- Filepath=Environment.getExternalStorageDirectory();
- StatFssf=newStatFs(path.getPath());
- //获取单个数据块的大小(Byte)
- longblockSize=sf.getBlockSize();
- //空闲的数据块的数量
- longfreeBlocks=sf.getAvailableBlocks();
- //返回SD卡空闲大小
- //returnfreeBlocks*blockSize;//单位Byte
- //return(freeBlocks*blockSize)/1024;//单位KB
- return(freeBlocks*blockSize)/1024/1024;//单位MB
- }
SD卡总容量
[java] view plain copy- publiclonggetSDAllSize(){
- //取得SD卡文件路径
- Filepath=Environment.getExternalStorageDirectory();
- StatFssf=newStatFs(path.getPath());
- //获取单个数据块的大小(Byte)
- longblockSize=sf.getBlockSize();
- //获取所有数据块数
- longallBlocks=sf.getBlockCount();
- //返回SD卡大小
- //returnallBlocks*blockSize;//单位Byte
- //return(allBlocks*blockSize)/1024;//单位KB
- return(allBlocks*blockSize)/1024/1024;//单位MB
- }
更多相关文章
- android 解析json数据格式
- Android(安卓)Bundle类
- Android(安卓)和 SQLite 基本数据类型
- 调整recovery界面菜单字体大小
- Android清除本地数据缓存代码
- Android之使用传感器获取相应数据
- Android内容提供者源码
- 关于android 多媒体数据库
- mybatisplus的坑 insert标签insert into select无参数问题的解决