2012-01-24 8 views
9

Me gustaría saber cómo leer la versión de apk instalada. Por ejemplo, desde mi aplicación me gustaría saber qué versión de Skype está instalada en mi teléfono.Comprobando el nombre de la versión de la aplicación externa en android

para leer mi versión de la aplicación que utilizo:

PackageInfo pinfo = null; 
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); 
String versionName = pinfo.versionName; 

Por supuesto, con try/catch rodeada.

Respuesta

8

Debe averiguar cuál es el nombre correcto del paquete de Skype instalado en su dispositivo.

PackageInfo pinfo = null; 
pinfo = getPackageManager().getPackageInfo("com.skype.android", 0); 
int verCode = pinfo.getVersionCode(); 
String verName = pinfo.getVersionName(); 

Usted puede obtener todos los paquetes y averiguar el nombre con la siguiente llamada al método:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(PackageManager.GET_META_DATA); 
+2

no vi métodos como pinfo.getVersionCode() o pinfo.getVersionName(). Por favor, mira mi respuesta en la parte inferior para ver el código de trabajo. – Sileria

+0

@Mobistry para ver que debe mirar hacia atrás en 2012. – Maxim

2

usted debería ser capaz hacerlo usando algo como esto:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(0); 

PackageInfo mypackage = <get required app from the list>; 

String versionName = mypackage.versionName; 
int versionCode = mypackage.versionCode; 

Tener una mirada en PackageInfo class.

2

Esto funcionó para mí:

PackageInfo pinfo = context.getPackageManager().getPackageInfo("com.myapp", 0); 
String verName = pinfo.versionName; 
int verCode = pinfo.versionCode; 
Cuestiones relacionadas