2016-10-25 2 views

답변

0

환경 변수 "SECONDARY_STORAGE"를 사용하여 SD 카드 슬롯이 있는지 확인할 수 있습니다. StatFs는 SD 카드 크기와 관련하여 이러한 정보를 제공 할 수 있습니다.

StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath()); 
long size = statFs.getBlockCountLong() * statFs.getBlockSizeLong(); 

문서 : https://developer.android.com/reference/android/os/Environment.html

SD 카드

String secondaryStorage = System.getenv("SECONDARY_STORAGE"); 
if (secondaryStorage == null) { 
    secondaryStorage = System.getenv("EXTERNAL_SDCARD_STORAGE") 
} 

SD 카드 크기 (안 SD 카드 슬롯 크기, 내가 인식하지 오전하는 것은, 그것을 행할 코멘트 greenapps 덕분에) 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

관련 문제