从网上找的:
public static int getSD(){ //SD卡大小
long blockSize=0,availCount=0;
File sdcardDir = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(sdcardDir.getPath());
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
blockSize = sf.getBlockSizeLong();
availCount = sf.getAvailableBlocksLong();
}else{
blockSize = sf.getBlockSize();
availCount = sf.getAvailableBlocks();
}
return count;
}
public static int getSYS(){ //内置大小
long blockSize=0,availCount=0;
File sys=Environment.getDataDirectory();
StatFs sf=new StatFs(sys.getPath());
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
blockSize = sf.getBlockSizeLong();
availCount = sf.getAvailableBlocksLong();
}else{
blockSize = sf.getBlockSize();
availCount = sf.getAvailableBlocks();
}
return count;
}
对于原生态的系统,检测正常
像锤子这种版本系统的,怎么显示不正常,看了一下为负数,还是相同的数
------解决思路----------------------
既然原生的可以,锤子不行,那就是锤子自己的ROM给改坏了啊
------解决思路----------------------
应该是自定义rom修改了这个值,你看下获取内存的是否正确