2016-10-25 12 views

答えて

0

環境変数 "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

+0

私のNexus 5にはSDスロットはありませんが、私は外部ストレージディレクトリを持っています。バーチャル "SD Ca rds "は内部ストレージにリンクされています – AxelH

+0

Nexus 5は' System.getenv( "SECONDARY_STORAGE") 'にnullを返す必要があります。 'System.getenv(" EXTERNAL_SDCARD_STORAGE ")'の有効なパスを返すべきです。 – Drez

+0

申し訳ありませんが、私はSDカードのサイズについて話していました。 – AxelH

関連する問題