public boolean externalMemoryAvailable(){  

   

     return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);  

    }

    

    public long getAvailableExternalMemorySize(){  

     

           if(externalMemoryAvailable()){  

   

               File path = Environment.getExternalStorageDirectory();  

   

               StatFs stat = new StatFs(path.getPath());  

   

               long blockSize = stat.getBlockSize();  

     

               long availableBlocks = stat.getAvailableBlocks();  

   

               return availableBlocks*blockSize/(1024*1024);//返回单位 M  

   

           }  

   

           else{  

   

               return -1;  

     

           }  

     

    }