[解決済み] Androidで内部/外部メモリの空き容量を取得する
2022-10-23 12:46:22
質問
デバイスの内部/外部ストレージにある空きメモリのサイズをプログラムで取得したいです。私はコードのこの部分を使用しています。
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
Log.e("","Available MB : "+megAvailable);
File path = Environment.getDataDirectory();
StatFs stat2 = new StatFs(path.getPath());
long blockSize = stat2.getBlockSize();
long availableBlocks = stat2.getAvailableBlocks();
String format = Formatter.formatFileSize(this, availableBlocks * blockSize);
Log.e("","Format : "+format);
で、得られた結果は:
11-15 10:27:18.844: E/(25822): Available MB : 7572
11-15 10:27:18.844: E/(25822): Format : 869MB
問題は、SdCardの空きメモリを取得したいのですが、これは
1,96GB
であるSdCardの空きメモリを取得したいことです。どのようにこのコードを修正すれば、空き容量を取得できるのでしょうか?
どのように解決するのですか?
これは私がやった方法です。
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable;
if (android.os.Build.VERSION.SDK_INT >=
android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
bytesAvailable = stat.getBlockSizeLong() * stat.getAvailableBlocksLong();
}
else {
bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();
}
long megAvailable = bytesAvailable / (1024 * 1024);
Log.e("","Available MB : "+megAvailable);
関連
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
-
[解決済み] Androidで現在の時刻と日付を取得する方法
-
[解決済み] Androidで'Context'を取得する静的な方法?
-
[解決済み] android: imageview の画像を画面に合わせて伸縮させる
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リムーバブルSDカードの場所を検索する。
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] Studio 3.4 をアップデートしたら、引数の leftShift() メソッドが見つかりませんでした。
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] アンドロイドボタンセレクター