Hola otra vez compañeros:
Lamento si estoy siendo un poco pesado, pero me parece mejor preguntar y comentar cualquier duda ya que igual así alguien con el mismo problema puede ver una solución. En fin, gracias de antemano otra vez.
Estoy trabajando en una aplicación que guarda imágenes en el móvil que, aún comprimiéndolas un montón, prefiero guardar los datos en la tarjeta SD del móvil. Como he desarrollado la aplicación con móviles Samsung con SD, he puesto a pelo la ruta para acceder a ella:
Environment.getExternalStorageDirectory()+"/external_sd/";
Pero el otro día tuve un problema, instalamos la aplicación en un Samsung Galaxy Note que no tenía SD ya que de memoria interna iba sobrado, pero la aplicación no funcionaba ya que nunca encontraba la carpeta "/external_sd/" y aunque la creaba mediante código nunca se creaba en el teléfono. Dadas las prisas por instalar la aplicación en el Note no tuve más remedio que cambiar las rutas a mano e instalarle esa versión "especial".
El caso es que cuando tenga que subir al servidor una nueva versión con cambios en la aplicación la semana que viene y se actualice en los móviles va a haber un problema con las rutas (se_va_a_habe_un_follon.mp3) si no tengo en cuenta los móviles que tengan SD donde ya había datos guardados de antes.
Ahora bien, Environment.getExternalStorageDirectory() no accede, ni devuelve la ruta a la tarjeta SD, se queda justo en la carpeta padre, del mismo modo que si pruebo Environment.isExternalStorageRemovable() me devuelve false en los Samsung con los que estamos trabajando (aunque true en mi Huawei personal) ya que no está comprobando la SD sino la memoria interna del móvil la cual nunca es desmontable.
He buscado por ahí y en la mayoría de respuestas dan por hecho que ExternalStorageDirectory accede a la SD, pero según veo depende del móvil y en el caso que me ocupa no me vale. En resumen me gustaría saber si sabéis alguna manera de acceder a la ruta de una SD en caso de estar disponible y como diferenciar la ruta de un móvil que no tenga.
¡Gracias otra vez!