2012-01-24 38 views
9

Tôi muốn biết cách đọc phiên bản apk đã cài đặt. Ví dụ, từ ứng dụng của tôi, tôi muốn biết phiên bản Skype nào được cài đặt trên điện thoại của tôi.Kiểm tra tên phiên bản ứng dụng bên ngoài trong android

Để đọc phiên bản ứng dụng của tôi tôi sử dụng:

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

Tất nhiên với try/catch bao quanh.

Trả lời

8

Bạn cần tìm ra tên gói đúng của skype được cài đặt trên thiết bị của bạn.

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

Bạn có thể nhận được tất cả các gói và tìm ra tên với các cuộc gọi phương pháp sau đây:

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

tôi không thấy các phương pháp như pinfo.getVersionCode() hoặc pinfo.getVersionName(). Xin vui lòng xem câu trả lời của tôi ở phía dưới để làm việc mã. – Sileria

+0

@Mobistry để thấy rằng bạn nên nhìn lại vào năm 2012. – Maxim

2

Bạn sẽ có thể làm điều này bằng một cái gì đó như thế này:

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

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

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

Có một cái nhìn tại PackageInfo class.

2

này đã làm việc cho tôi:

PackageInfo pinfo = context.getPackageManager().getPackageInfo("com.myapp", 0); 
String verName = pinfo.versionName; 
int verCode = pinfo.versionCode; 
Các vấn đề liên quan