2010-11-07 41 views
13

En la primera ejecución de mi aplicación, estoy descargando un archivo bastante grande a/sdcard/¿TODOS los dispositivos Android tienen una tarjeta SD interna?

Ya sé que esto puede fallar si la tarjeta SD interna del teléfono del usuario está llena o no está montada (por ejemplo, si el teléfono está conectado a una PC como un dispositivo de almacenamiento masivo, o no se ha desconectado correctamente de una PC).

¿Pero hay dispositivos con Android SIN TARJETA SD INTERNA? (en el que mi aplicación definitivamente sería inutilizable)

Respuesta

23

¿Pero hay dispositivos con Android SIN tarjeta interna SD? (En la que mi aplicación sin duda sería inservible)

cualquier dispositivo que tenga el Android Market tendrá al menos 2 GB de almacenamiento a Environment.getExternalStorageDirectory(). Si eso es una tarjeta SD u otra cosa variará según el dispositivo.

+0

Entonces, si el almacenamiento externo no es una tarjeta SD, ¿entonces no se podrá acceder a la carpeta/sdcard /? –

+2

@Sebastien: ** Siempre ** use 'Environment.getExternalStorageDirectory()' para buscar la raíz del almacenamiento externo del código. A su aplicación no le debe importar y no le importa si el "almacenamiento externo" es una tarjeta SD, flash incorporado, un disco duro o escritura cuneiforme escrito en tabletas de arcilla. Pero el directorio raíz varía según el dispositivo y el nivel del sistema operativo, por lo que no es '/ sdcard' en todos los casos. – CommonsWare

+0

Gracias, utilizaré este método en lugar de codificar la ruta "/ sdcard". –

2

Personalmente tengo Samsung Galaxy Tab y no tiene tarjeta SD interna (incluida con, se puede comprar por separado, supongo).

En mi programa, llamo Environment.getExternalStorageDirectory y parece proporcionar la ruta de la memoria interna cuando no hay una tarjeta SD montada. Hasta el momento funciona, no han investigado más.

+0

¿Puedes acceder a la carpeta/sdcard /? –

2

Todos los dispositivos compatibles con Android admiten almacenamiento externo. Esto no tiene que ser necesariamente una tarjeta SD, podría ser un almacenamiento interno no extraíble.

Cuestiones relacionadas