2012-01-24 10 views
9

Chciałbym wiedzieć, jak czytać zainstalowaną wersję apk. Na przykład z mojej aplikacji chciałbym wiedzieć, jaka wersja Skype jest zainstalowana na moim telefonie.Sprawdzanie nazwy wersji aplikacji zewnętrznej w Androidzie

czytać moją wersję aplikacji używam:

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

oczywiście z try/catch otoczeniu.

Odpowiedz

8

Musisz dowiedzieć się, jaka jest właściwa nazwa pakietu skype zainstalowanego na Twoim urządzeniu.

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

Możesz pobrać wszystkie pakiety i dowiedzieć się nazwy z metodą następującej rozmowy:

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

nie widzę metody jak pinfo.getVersionCode() lub pinfo.getVersionName(). Proszę zobaczyć moją odpowiedź na dole dla działającego kodu. – Sileria

+0

@Mobistry, aby zobaczyć, że powinieneś wrócić do 2012 roku. – Maxim

2

powinieneś być w stanie to zrobić za pomocą czegoś takiego:

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

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

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

Zobacz pod adresem PackageInfo class.

2

Ten pracował dla mnie:

PackageInfo pinfo = context.getPackageManager().getPackageInfo("com.myapp", 0); 
String verName = pinfo.versionName; 
int verCode = pinfo.versionCode; 
Powiązane problemy