0
携帯電話にSDカードスロットがあるかどうかを知ることができますか?サポートされている場合、サポートされている最大サイズは何ですか?アンドロイドデバイスにSDカードスロットがあるかどうかをプログラムで検出
私の質問は、SDカードが現在マウントされているかどうかを確認する方法ではありません。
携帯電話にSDカードスロットがあるかどうかを知ることができますか?サポートされている場合、サポートされている最大サイズは何ですか?アンドロイドデバイスにSDカードスロットがあるかどうかをプログラムで検出
私の質問は、SDカードが現在マウントされているかどうかを確認する方法ではありません。
環境変数 "SECONDARY_STORAGE"を試して、SDカードスロットがあるかどうかを調べることができます。 SDカードのサイズに関して、StatFsはあなたにそのような情報を提供することができます。
SDカード
String secondaryStorage = System.getenv("SECONDARY_STORAGE");
if (secondaryStorage == null) {
secondaryStorage = System.getenv("EXTERNAL_SDCARD_STORAGE")
}
SDカードサイズ(ないSDカードスロットサイズ、私は知りません、それは、なんとかコメントをgreenappsのおかげで):
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath());
long size = statFs.getBlockCountLong() * statFs.getBlockSizeLong();
ドキュメント: https://developer.android.com/reference/android/os/Environment.html https://developer.android.com/reference/android/os/StatFs.html
私のNexus 5にはSDスロットはありませんが、私は外部ストレージディレクトリを持っています。バーチャル "SD Ca rds "は内部ストレージにリンクされています – AxelH
Nexus 5は' System.getenv( "SECONDARY_STORAGE") 'にnullを返す必要があります。 'System.getenv(" EXTERNAL_SDCARD_STORAGE ")'の有効なパスを返すべきです。 – Drez
申し訳ありませんが、私はSDカードのサイズについて話していました。 – AxelH