2011-09-07 21 views
34

Làm cách nào để có được phiên bản thiết bị Android hiện tại (1.5, 1.6, 2.0, v.v.) theo lập trình? tức là tôi đã cài đặt gói ứng dụng của mình trên thiết bị Android 2.2. Tôi cần tải phiên bản thiết bị (phiên bản trình mô phỏng Android mà ứng dụng của tôi hiện đang chạy).Tải phiên bản os của thiết bị trong Android theo chương trình

+0

Xem bản sao: http://stackoverflow.com/questions/3093365/android-get-version-of-system –

Trả lời

1

Hãy xem qua lớp phiên bản Build.VERSION. Tùy thuộc vào những gì bạn muốn làm, bạn có thể muốn sử dụng thuộc tính RELEASE hoặc SDK_INT.

85

Something như thế này:

String myVersion = android.os.Build.VERSION.RELEASE; // e.g. myVersion := "1.6" 
int sdkVersion = android.os.Build.VERSION.SDK_INT; // e.g. sdkVersion := 8; 

Bạn có thể lấy tất cả các mã SDK từ Build.VERSION_CODES

+0

Được khuyến nghị sử dụng để đại diện cho os, Build.VERSION.RELEASE hoặc Build.VERSION.SDK.INT ? Cả hai có được công việc làm, nhưng có một tiêu chuẩn công nghiệp hoặc lựa chọn phổ biến hơn? – portfoliobuilder

+0

@portfoliobuilder 'Build.VERSION.SDK_INT' là tốt so sánh giữa các phiên bản (nhỏ hơn/lớn hơn, v.v.) –

+0

s được mô tả trong tài liệu android, cấp SDK (số nguyên) điện thoại đang chạy có sẵn tại: android.os.Build.VERSION.SDK_INT; Enum tương ứng với int này nằm trong lớp android.os.Build.VERSION_CODES. Ví dụ mã: int currentapiVersion = android.os.Build.VERSION.SDK_INT; if (currentapiVersion> = android.os.Build.VERSION_CODES.FROYO) {// Do something cho Froyo trở lên phiên bản } else {// do something cho điện thoại chạy SDK trước Froyo } – hitesh141

3

Nếu bạn muốn xem số phiên bản firmware sau đó bạn có thể sử dụng

Build.VERSION.SDK_INT 

Nhưng nếu bạn muốn tên phiên bản chương trình cơ sở thì bạn nên sử dụng một cái gì đó như thế này

Build.VERSION_CODES 
10
int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){ 
    // Do something for lollipop and above versions 
} else{ 
    // do something for phones running an SDK before lollipop 
} 

Bằng mã này, chúng tôi có thể thực thi mã riêng cho thiết bị Pre Lollipop.

1

Hãy thử này,

String deviceOs = android.os.Build.VERSION; 

Tôi hy vọng điều này sẽ giúp.

Các vấn đề liên quan