2012-02-14 7 views
9

Ho utilizzato l'installazione che consente di capire se un'app può essere spostata o meno. Ma non riesco a capire cosa succede quando vogliamo scoprire se un'app è stata spostata su una scheda SD.Come scoprire se un'app è stata spostata su una scheda SD su Android

L'attributo ApplicationInfoFLAG_EXTERNAL_STORAGE indica solo se l'app è installata su SD non se è stata spostata. Sto generando un elenco di app che possono essere spostate sulla scheda SD. Quindi la prima lista che ho generato utilizza lo installLocation di manifest. Da questo elenco ho dovuto filtrare le app che sono già state spostate su scheda SD.

risposta

0

Se la posizione di installazione è automatica, è possibile spostare l'applicazione dalla scheda SD al telefono o viceversa. puoi controllare manualmente la posizione dell'app nel gestore dell'applicazione del dispositivo.

+0

Grazie ma sto scrivendo un App quindi ho bisogno di sapere di programmazione. Ho bisogno di sapere quali sono le classi Android che potrebbero essere usate per capire se un'app è stata spostata su una scheda SD non installata sulla scheda SD. –

2

Per controllare applicazione è installata nella scheda SD o no, basta fare questo:

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) 

}