2013-04-10 33 views
6

Ứng dụng của tôi đang lưu tệp trên thẻ SD nhưng trước khi lưu các tệp tôi cần kiểm tra xem có bộ nhớ trống không. Tôi cần một để kiểm tra bao nhiêu bộ nhớ miễn phí trên thẻ SD.Kiểm tra xem có đủ bộ nhớ trên thẻ SD có lập trình

Cái gì như:

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

Trả lời

4

từ: http://groups.google.com/group/android-developers/browse_thread/thread/ecede996463a4058

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getBlockCount(); 
long megAvailable = bytesAvailable/1048576; 
+0

bạn có thể sử dụng stat.getAvailableBytes(); cho android 4.3+ (API 18+) –

+0

Cảm ơn Stevo.mit. Tôi sẽ xem xét các tài liệu để biết thêm thông tin :) – Shrikant

7
StatFs class 

bạn có thể sử dụng ở đây, cung cấp đường dẫn cho thư mục nội bộ và bên ngoài của bạn và tính toán tổng số, không gian trống và avialable.

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

Xem documentation để biết thêm chi tiết. bytesAvailable bằng byte, bạn có thể chuyển đổi nó thành định dạng nào bạn muốn.

+0

Làm thế nào để kiểm tra không gian có sẵn trên Google Drive programatically từ android ứng dụng – Raa

1

Đối với Android 4.3 (API Level: 18+)

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
long bytesAvailable = getAvailableBytes(); 
Các vấn đề liên quan