আমি প্রোগ্রাম হিসাবে আমার ডিভাইসের অভ্যন্তরীণ / বাহ্যিক স্টোরেজে ফ্রি মেমরির আকার পেতে চাই। আমি এই টুকরা কোড ব্যবহার করছি:
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
Log.e("","Available MB : "+megAvailable);
File path = Environment.getDataDirectory();
StatFs stat2 = new StatFs(path.getPath());
long blockSize = stat2.getBlockSize();
long availableBlocks = stat2.getAvailableBlocks();
String format = Formatter.formatFileSize(this, availableBlocks * blockSize);
Log.e("","Format : "+format);
এবং ফলাফল যা আমি পাচ্ছি তা হ'ল:
11-15 10:27:18.844: E/(25822): Available MB : 7572
11-15 10:27:18.844: E/(25822): Format : 869MB
সমস্যাটি হ'ল আমি এসডিকার্ডের ফ্রি মেমরি পেতে চাই যা 1,96GB
এখনই। আমি এই কোডটি কীভাবে ঠিক করতে পারি যাতে আমি বিনামূল্যে আকারটি পেতে পারি?