2010-04-16 25 views
6

आप ऐप से अपना फोन आंतरिक स्टोरेज कैसे प्राप्त कर सकते हैं? मुझे memoryinfo मिला, लेकिन ऐसा लगता है कि आपके वर्तमान में चल रहे कार्यों की कितनी मेमोरी पर जानकारी देता है। मैं अपने ऐप को पुनः प्राप्त करने की कोशिश कर रहा हूं कि आंतरिक फोन संग्रहण कितना उपलब्ध है।एंड्रॉइड आंतरिक फोन स्टोरेज

उत्तर

17

आंतरिक निर्देशिका खोजने के लिए android.os.Environment का उपयोग करें, फिर यूनिक्स statfs सिस्टम कॉल पर कॉल करने के लिए android.os.StatFs का उपयोग करें। बेशर्म stolen एंड्रॉयड सेटिंग एप्लिकेशन से:

File path = Environment.getDataDirectory(); 
StatFs stat = new StatFs(path.getPath()); 
long blockSize = stat.getBlockSize(); 
long availableBlocks = stat.getAvailableBlocks(); 
return Formatter.formatFileSize(this, availableBlocks * blockSize); 
3

मैं मेरा काम करता है हो रही एक कठिन समय था। तो मैं कुछ लोगों को कुछ समय बचाने के लिए अपना कामकाजी कोड साझा करना चाहता हूं।
32 जीबी डिवाइस और 1 जीबी डिवाइस पर परीक्षण किया गया।

// Return size is in Megabytes 
public class DeviceMemory { 

     public static long getInternalStorageSpace() 
     { 
      StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath()); 
      //StatFs statFs = new StatFs("/data"); 
      long total = ((long)statFs.getBlockCount() * (long)statFs.getBlockSize())/1048576; 
      return total; 
     } 

     public static long getInternalFreeSpace() 
     { 
      StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath()); 
      //StatFs statFs = new StatFs("/data"); 
      long free = ((long)statFs.getAvailableBlocks() * (long)statFs.getBlockSize())/1048576; 
      return free; 
     } 

     public static long getInternalUsedSpace() 
     { 
      StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath()); 
      //StatFs statFs = new StatFs("/data"); 
      long total = ((long)statFs.getBlockCount() * (long)statFs.getBlockSize())/1048576; 
      long free = ((long)statFs.getAvailableBlocks() * (long)statFs.getBlockSize())/1048576; 
      long busy = total - free; 
      return busy; 
     } 
} 
संबंधित मुद्दे