2012-01-24 13 views
9

Vorrei sapere come leggere la versione apk installata. Ad esempio, dalla mia app mi piacerebbe sapere quale versione di Skype è installata sul mio telefono.Verifica il nome della versione dell'app esterna in Android

di leggere la mia versione app che uso:

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

Naturalmente con try/catch circondato.

risposta

8

È necessario capire qual è il giusto nome del pacchetto di Skype installato sul dispositivo.

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

È possibile ottenere tutti i pacchetti e scoprire il nome con il metodo seguente chiamata:

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

non ho visto metodi come pinfo.getVersionCode() o pinfo.getVersionName(). Si prega di vedere la mia risposta in fondo per codice di lavoro. – Sileria

+0

@Mobistry per vedere che dovresti guardare indietro nel 2012. – Maxim

2

si dovrebbe essere in grado farlo utilizzando qualcosa di simile:

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

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

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

Date un'occhiata allo PackageInfo class.

2

questo ha funzionato per me:

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