Estoy escribiendo una aplicación para Android que almacena una gran cantidad de archivos multimedia. No son del tipo (y son demasiados) para desordenar las notificaciones de los usuarios u otros directorios de medios, pero también deben ser actualizables por el usuario, por lo que no puedo ponerlos en los recursos. Puedo usar getExternalFilesDir para obtener una ruta en la tarjeta SD, pero solo quiero hacer eso si la aplicación está instalada en la tarjeta sd. Si la aplicación está instalada internamente, quiero poner los medios en la memoria interna.Android 2.2 - ¿Cómo puedo detectar si estoy instalado en la tarjeta SD o no?
Entonces, ¿cómo puedo determinar si mi aplicación se está ejecutando en la memoria interna o externa?
1. Comprobación '/mnt' y '/ sdcard' parecen hacky - ¿por qué no usas los directorios de la clase' Environment'? 2. No lo he probado, ¿el directorio de archivos no está siempre en el almacenamiento interno? ¿Cuál es el punto del segundo cheque? Pre-Froyo no puede instalarse en la tarjeta SD de todos modos. ¿O lo agregaste para manejar el caso de las ROM como CyanogenMod que tenían su propia implementación de app2sd? – EboMike
1. Tiene razón, usando Environment.EXTERNAL_STORAGE_DIRECTORY es mejor. 2. Creo que no si la aplicación está instalada en SD. Y sí, el segundo cheque es para ROMS modificados. – peceps