2012-01-24 2 views
9

Я хотел бы знать, как читать установленную версию apk. Например, из моего приложения я хотел бы узнать, какая версия Skype установлена ​​на моем телефоне.Проверка имени версии внешнего приложения в android

читать мою версию приложения я использую:

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

Конечно с TRY/улова в окружении.

ответ

8

Вам необходимо выяснить, какое именно имя пакета скайпа установлено на вашем устройстве.

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

Вы можете получить все пакеты и узнать имя с помощью метода следующего вызова:

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

я не видел такие методы, как pinfo.getVersionCode() или pinfo.getVersionName(). Пожалуйста, см. Мой ответ внизу для рабочего кода. – Sileria

+0

@Mobistry, чтобы увидеть, что вы должны оглянуться назад в 2012 году. – Maxim

2

Вы должны быть в состоянии сделать это, используя что-то вроде этого:

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

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

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

Посмотрите на PackageInfo class.

2

Это работает для меня:

PackageInfo pinfo = context.getPackageManager().getPackageInfo("com.myapp", 0); 
String verName = pinfo.versionName; 
int verCode = pinfo.versionCode; 
Смежные вопросы