2014-09-12 3 views
-1

Environment.getExternalStorageDirectory()뿐만 아니라 외부 SD 카드에 대한 경로를 얻는 아주 좋은 방법을 발견했습니다. 이 방법은 그래서 How can I get external SD card path for Android 4.0+?모든 SD 카드의 사용 가능한 공간을 확보하십시오.

에서 secrond되고, 내 질문에 내가 경로, 예를 들어, "저장/extSdCard"나 내가 필요 즉 다른

알고 SD 카드에 무료로 사용할 수있는 공간을 찾을 수있는 방법입니다 방법 :.

public int getExternalAvailableSpaceInBytes(String sdRootPath) { 
//here's this method using this sdRootPath 
} 

답변

-1
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){ 
@SuppressWarnings("deprecation") 
long sdAvailSize = (long)stat.getAvailableBlocksLong() * (long)stat.getBlockSizeLong(); 
} 
else{ 
@SuppressWarnings("deprecation") 
double sdAvailSize = (double)stat.getAvailableBlocks() * (double)stat.getBlockSize(); 
} 

double gigaAvailable = sdAvailSize/1073741824; //1073741824 =1GB 
+0

내가 Environment.getExternalStorageDirectory() getPath()가 2가있는 경우에만 내부 SD 카드를 반환 지정했습니다. 나는 Sd 카드의 경로로 사용 가능한 공간을 알아야합니다. – user2976267

+0

은'Environment.getExternalStorageDirectory(). getPath()'대신 punted 된 다른 SD 카드의 경로를 전달합니다. –

+0

[외부 SD 카드의 경로를 얻는 방법] (http://stackoverflow.com/q/11281010/3326331) –

관련 문제