Android 获取手机存储空间
1.获取可用的内存
public String getFreeMemory(){ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);MemoryInfo mi = new MemoryInfo();am.getMemoryInfo(mi);return Formatter.formatFileSize(context, mi.availMem);}
2.获取总共内存
没有直接的API,但是可以读取配置文件,配置文件为/proc/meminfo,权限为可读。配置文件内容格式如下:
MemTotal: 1665632 kB
MemFree: 85140 kB
Buffers: 48808 kB
Cached: 501392 kB
SwapCached: 0 kB
Active: 937580 kB
Inactive: 244956 kB
Active(anon): 636044 kB
Inactive(anon): 596 kB
Active(file): 301536 kB
Inactive(file): 244360 kB
Unevictable: 3616 kB
Mlocked: 0 kB
HighTotal: 1309696 kB
HighFree: 14896 kB
LowTotal: 355936 kB
LowFree: 70244 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 636008 kB
Mapped: 111488 kB
Shmem: 680 kB
Slab: 36564 kB
SReclaimable: 20836 kB
SUnreclaim: 15728 kB
KernelStack: 14048 kB
PageTables: 17800 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 832816 kB
Committed_AS: 11299500 kB
VmallocTotal: 122880 kB
VmallocUsed: 76444 kB
VmallocChunk: 11140 kB
很明显是键值对属性,故而:
public String getTotalMemory() throws FileNotFoundException, IOException{Properties pp = new Properties();pp.load(new FileInputStream("/proc/meminfo"));return pp.getProperty("MemTotal");}
3.获取sd卡的大小与剩余空间
public String getSdTotalSize(Context context){StatFs sf = new StatFs("/mnt/sdcard");long blockSize = sf.getBlockSize();long totalBlocks = sf.getBlockCount();return Formatter.formatFileSize(context, blockSize*totalBlocks);}public String getSdAvailableSize(Context context){StatFs sf = new StatFs("/mnt/sdcard");long blockSize = sf.getBlockSize();long availableBlocks = sf.getAvailableBlocks();return Formatter.formatFileSize(context, blockSize*availableBlocks);}
4.获取内部存储空间
public String getDataTotalSize(Context context){StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());long blockSize = sf.getBlockSize();long totalBlocks = sf.getBlockCount();return Formatter.formatFileSize(context, blockSize*totalBlocks);}
Android 获取手机存储空间相关推荐
- android 检索空间,Android 获取手机存储空间
1.获取可用的内存 public String getFreeMemory(){ ActivityManager am = (ActivityManager) context .getSystemSe ...
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://2402766.blog.51cto.com/2392766/1080837 为了 ...
- Qt for Android获取手机序列号/手机型号/手机制造商
前言 Qt for Android 获取手机型号/手机制造商/手机序列号,这些是要通过 Android 原生接口才能获取到的, 那么在 Qt 项目中通过 jni 接口调用 Android 原生接口来获 ...
- android 获取手机运行的进程
今天,简单讲讲如何获取系统运行的进程. ActivityManager.RunningAppProcessInfo类与获取正在运行的应用程序 每一个应用程序都会运行在它独立的进程里,但是为了节省资源或 ...
- android 获取已安装 错误代码,android获取手机已经安装的app信息
Android获取手机已安装APP(系统/非系统) 效果图 主体代码 private ListView mlistview; private ListpackageInfoList; private ...
- 获取android型号代码,Android应用开发之Android获取手机品牌、手机型号、手机唯一序列号的代码教程...
本文将带你了解Android应用开发Android获取手机品牌.手机型号.手机唯一序列号的代码教程,希望本文对大家学Android有所帮助. Android获取手机品牌.手机型号.手机唯一序列号的代码 ...
- Android获取手机序列号
Android获取手机序列号 String androidId = null; androidId = Secure.getString(getContentResolver(), Secure.AN ...
- Android获取手机的卡槽数量和sim卡数量
Android获取手机的卡槽数量和sim卡数量 获取手机卡槽数量,即手机是单卡槽还是双卡槽的方法: TelephonyManager tm = (TelephonyManager) getSystem ...
- android获取手机sim卡信息,Android获取手机SIM卡运营商信息的方法
本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值.分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 ...
最新文章
- winform窗体自由拖拽控件
- android 点击扩散,Android水波纹扩散效果
- kali2.0部署docker
- java 高性能缓存_高性能Java缓存----Caffeine
- 误报的java.sql.SQLException: Parameter number 21 is not an OUT parameter
- Python爬虫之(八)数据提取-Beautiful Soup
- CF547D Mike and Fish 建图
- 【UKIEPC2017:D】Deranging Hat(求序列a到a‘交换过程的具体实现)
- 直播视频网站源码,列表的展开更多和点击收起功能
- 光伏发电仿真系列-光伏并网发电系统研究
- 程序员为什么要写博客
- opencv3.0 截取任意形状封闭图形
- 用Python实现TXT文件分割
- Burp Suite配合xray代理socks流量
- uva 232 - Crossword Answers(纵横迷宫)
- 本站最全-unity常用API大全(万字详解),不信你不收藏
- win10如何修改计算机管理员的名字,hp win10系统管理员名称改了后怎么改回去
- Java制作简单小画板
- Lora、zigbee比较
- 中华云盒M1刷Linux教程,N1 盒子刷最新版 armbian 及软件安装