当前位置: 代码迷 >> Android >> 获取不到存储大小?该怎么处理
  详细解决方案

获取不到存储大小?该怎么处理

热度:44   发布时间:2016-04-27 22:15:53.0
获取不到存储大小?
从网上找的:

        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修改了这个值,你看下获取内存的是否正确
  相关解决方案