SDCard - saber se existe e permite escrita

Top  Previous  Next

 // saber se tem cartão e está "escrevível"

 private boolean isExternalStoragePresent() {

 

         boolean mExternalStorageAvailable = false;

         boolean mExternalStorageWriteable = false;

         String state = Environment.getExternalStorageState();

 

         if (Environment.MEDIA_MOUNTED.equals(state)) {

                 // podemos ler e escrever no cartao

                 mExternalStorageAvailable = mExternalStorageWriteable = true;

         } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {

                 // apenas podemos ler

                 mExternalStorageAvailable = true;

                 mExternalStorageWriteable = false;

         } else {

                 // algo errado

                 mExternalStorageAvailable = mExternalStorageWriteable = false;

         }

 

         if (!((mExternalStorageAvailable) && (mExternalStorageWriteable))) {

                 Toast.makeText(this, "SD card not present", Toast.LENGTH_LONG).show();

 

         }

         return (mExternalStorageAvailable) && (mExternalStorageWriteable);

 }