Nuestro proyecto puede requerir acceder a la memoria externa ya sea para leer o guardar archivos. Por ejemplo una tarjeta de memoria extraíble (tarjeta SD) o una memoria interna (no extraíble). Antes de esto es necesario que verifiques si el almacenamiento externo esta disponible.
Utilizando Environment.getExternalStorageState() obtienes el estado del dispositivo.
Por ejemplo para verificar si el almacenamiento externo esta disponible para leer y escribir:
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
Para verificar si el almacenamiento externo esta disponible al menos para leer.
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}
No debemos olvidar que para escribir en el almacenamiento externo debemos agregar este permiso en el “Manifest File” de nuestro proyecto.
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
Referencias:
Using the External Storage Environment.getExternalStorageState
Hi! If you find my posts helpful, please support me by inviting me for a coffee :)