2010-09-03 13 views

Trả lời

116

Nếu bạn sử dụng ADT và Eclipse:

String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 

Nếu bạn sử dụng Gradle, có một cách dễ dàng hơn, vì nó đặt dữ liệu vào BuildConfig cho bạn:

String version = BuildConfig.VERSION_NAME; 
+23

Đó là quá nhiều "getPackage" s cho một dòng mã ... O_O – Cephron

+4

Tuyệt vời! Nhưng có cách nào để lấy giá trị từ một tệp xml (đặc biệt là sử dụng nó như là 'android: summary' của nút' Preference') không? –

37

câu trả lời Konstantin của (trên) là chính xác, nhưng đối với những gì nó có giá trị tôi thấy rằng tôi đã nhận được một lỗi biên dịch nếu tôi không bắt được một NameNotFoundException, như sau:

import android.content.pm.PackageManager.NameNotFoundException; 
try { 
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 
} catch (NameNotFoundException e) { 
    Log.e("tag", e.getMessage()); 
} 
Các vấn đề liên quan