0

重複の可能性:
Android SD カードの空き容量

一部のデバイスでは、外部 SD カードが /mnt/sdcard/tflash にマウントされます。ここで、外部 SD カードの空き容量を確認する必要があります。

テストできないので、以下が /mnt/sdcard ではなく /mnt/sdcard/tflash のサイズを返すかどうかはわかりません

        StatFs stat = new StatFs("/mnt/sdcard/tflash");
        long blockSize = stat.getBlockSize();
        long totalBlocks = stat.getBlockCount();
        return totalBlocks * blockSize;

/mnt/sdcard/tflash または /mnt/sdcard/external_sd の空き容量を見つける方法のヒント

4

2 に答える 2

3

残念ながら、Android には真の「外部 SD カード」という概念が実際にはありません。実際、Android の外部ストレージは一般に、人々が通常内部メモリと見なすものと呼ばれます (デバイスに組み込まれている 8 GB のように!)。

Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard"

Environment.getExternalStorageDirectory() は、デバイス メーカーが「外部ストレージ」とみなすものです。これは真にリムーバブル ストレージである場合もあれば、そうでない場合もあります。

バブルをはじくのは嫌ですが、 /mnt/sdcard/external_sd のようなパスを手動で確認し、それらが存在するかどうかを確認してから、サイズを確認するしか方法がないかもしれません。それが私が自分のアプリのためにやったことです:(

于 2012-10-09T19:10:57.413 に答える
0

試す

StatFs st = new StatFs(Environment.getExternalStorageDirectory().getPath());

long sdcardSize = (long) st.getBlockSize() * (long) st.getBlockCount();
于 2012-10-09T19:18:53.833 に答える