获取Android设备存储空间使用情况

if (Environment.MEDIA_MOUNTED == Environment.getExternalStorageState() || !Environment.isExternalStorageRemovable()) {
            //获得路径
            File file = Environment.getExternalStorageDirectory();
            StatFs statFs = new StatFs(file.getPath());
            //获得sdcard上每个block 的大小
            long blockSize = statFs.getBlockSize();
            //获得sdcard上 block的总数
            long blockCount = statFs.getBlockCount();
            //计算标准大小使用:1024.0,当然使用1024.0也可以
            double bookTotalSize = blockCount * blockSize / 1024.0 / 1024.0 / 1024.0;
            Log.i(TAG, "onCreate: total = " + String.format("%.2f", bookTotalSize) + "GB");

            //获取可供程序使用的Block数量
            long blockavailable = statFs.getAvailableBlocks();
            //计算标准大小使用:1024.0,当然使用1024.0也可以
            double blockavailableTotal = blockSize * blockavailable / 1024.0 / 1024.0 / 1024.0;
            Log.i(TAG, "onCreate: available = " + String.format("%.2f", blockavailableTotal) + "GB");
            Log.i(TAG, "onCreate: used = " + String.format("%.2f", (bookTotalSize - blockavailableTotal)) + "GB");
        }

猜你喜欢

转载自blog.csdn.net/qq_29745043/article/details/85046010