2013-04-10 12 views
6

Moja aplikacja zapisuje pliki na karcie SD, ale przed zapisaniem plików potrzebuję sprawdzić, czy jest wolna pamięć. Potrzebuję sprawdzić, ile wolnej pamięci znajduje się na karcie SD.Sprawdź, czy jest wystarczająca pamięć na karcie SD programowo

Coś jak:

if(MemoryCard.getFreeMemory()>20Mb) 
{ 
    saveFiles(); 
} 
else 
{ 
    Toast.makeText(this, "Not enough memory", 100).show(); 
} 

Odpowiedz

7
StatFs class 

można użyć tutaj, podaj ścieżkę do katalogu wewnętrznej i zewnętrznej i obliczyć sumę, wolny i avialable miejsca.

StatFs memStatus = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
long bytesAvailable = (long)memStatus.getBlockSize() * (long)memStatus.getAvailableBlocks(); 

Aby uzyskać więcej informacji, patrz documentation. bytesAvailable jest w bajtach, które można przekonwertować na dowolny format.

+0

Jak sprawdzić ilość wolnego miejsca na Dysku Google programowo z Android App – Raa

1

Dla Androida 4.3+ (poziom API: 18+)

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
long bytesAvailable = getAvailableBytes(); 
Powiązane problemy