您的位置: 首页 > IT文章 > 获取Android手机中SD卡内存储器信息 获取Android手机中SD卡内存储器信息 分类: IT文章 • 2022-05-12 18:25:49 获取Android手机中SD卡内存信息访问sdcard的权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //取得sdcard文件路径 File path = Environment.getExternalStorageDirectory(); // "mnt/sdcard" path = new File("mnt/extsd"); Log.i("chens", "======path========"+path); StatFs statfs = new StatFs(path.getPath()); //获取block的SIZE long blocSize = statfs.getBlockSize(); //获取BLOCK数量 long totalBlocks = statfs.getBlockCount(); //空闲的Block的数量 long availaBlock = statfs.getAvailableBlocks(); //计算总空间大小和空闲的空间大小 String[] total = filesize(totalBlocks * blocSize); String[] availale = filesize(availaBlock * blocSize); Toast.makeText(FirstActivity.this, "sdcard总空间大小="+total[0]+total[1] +"\n剩余空间大小="+availale[0]+availale[1], 1).show(); }else { Toast.makeText(FirstActivity.this, "没有sdcard或者sdcard挂载失败", 1).show(); } } }); }//计算空间方法csize String[] filesize(long size) { String str = ""; if (size >= 1024) { str = "KB"; size /= 1024; if (size >= 1024) { str = "MB"; size /= 1024; } } DecimalFormat formatter = new DecimalFormat(); formatter.setGroupingSize(3); String result[] = new String[2]; result[0] = formatter.format(size); result[1] = str; return result; }