2012-02-14 22 views
9

Utilicé la ubicación de instalación que permite averiguar si una aplicación se puede mover o no. Pero no puedo entender qué sucede cuando queremos saber si una aplicación se ha movido a una tarjeta SD.Cómo saber si una aplicación se ha movido a la tarjeta SD en Android

El atributo ApplicationInfoFLAG_EXTERNAL_STORAGE solo le indica si la aplicación está instalada en la tarjeta SD, no si se ha movido a. Estoy generando una lista de aplicaciones que podrían moverse a la tarjeta SD. Entonces, la primera lista que genero es usando el installLocation del manifiesto. De esta lista conseguí filtrar las aplicaciones que ya se han movido a la tarjeta SD.

Respuesta

0

Si su ubicación de instalación es automática, puede mover la aplicación de la tarjeta SD al teléfono o viceversa. puede verificar la ubicación de la aplicación manualmente en el administrador de aplicaciones del dispositivo.

+0

Gracias, pero estoy escribiendo una aplicación así que necesito para averiguar mediante programación. Necesito saber qué clases de Android se podrían usar para saber si una aplicación se ha movido a una tarjeta SD que no está instalada en la tarjeta SD. –

2

Para verificar la aplicación se instala en la tarjeta SD o no, acaba de hacer esto:

ApplicationInfo io = context.getApplicationInfo(); 

if(io.sourceDir.startsWith("/data/")) { 

//application is installed in internal memory 

} else if(io.sourceDir.startsWith("/mnt/") || io.sourceDir.startsWith("/sdcard/")) { 

//application is installed in sdcard(external memory) 

} 
Cuestiones relacionadas