2010-10-22 29 views

Trả lời

340

Kiểm tra android.os.Build.VERSION, là lớp tĩnh chứa nhiều thông tin khác nhau về hệ điều hành Android mà hệ thống đang chạy.

Nếu bạn quan tâm đến tất cả các phiên bản có thể (quay lại phiên bản Android gốc), như trong minSdkVersion được đặt thành bất kỳ thứ gì nhỏ hơn 4, thì bạn sẽ phải sử dụng android.os.Build.VERSION.SDK, là String có thể được chuyển đổi thành số nguyên bản phát hành.

Nếu bạn đang sử dụng ít nhất API phiên bản 4 (Android 1.6 Donut), cách đề xuất hiện tại để nhận được cấp API sẽ là kiểm tra giá trị android.os.Build.VERSION.SDK_INT, là số nguyên.

Trong cả hai trường hợp, các số nguyên bạn nhận được ánh xạ đến một giá trị enum từ tất cả các đối tượng quy định tại android.os.Build.VERSION_CODES:

SDK_INT value  Build.VERSION_CODES  Human Version Name  
    1     BASE      Android 1.0 (no codename) 
    2     BASE_1_1     Android 1.1 Petit Four 
    3     CUPCAKE     Android 1.5 Cupcake 
    4     DONUT      Android 1.6 Donut 
    5     ECLAIR     Android 2.0 Eclair 
    6     ECLAIR_0_1    Android 2.0.1 Eclair     
    7     ECLAIR_MR1    Android 2.1 Eclair 
    8     FROYO      Android 2.2 Froyo 
    9     GINGERBREAD    Android 2.3 Gingerbread 
    10     GINGERBREAD_MR1   Android 2.3.3 Gingerbread 
    11     HONEYCOMB     Android 3.0 Honeycomb 
    12     HONEYCOMB_MR1    Android 3.1 Honeycomb 
    13     HONEYCOMB_MR2    Android 3.2 Honeycomb 
    14     ICE_CREAM_SANDWICH  Android 4.0 Ice Cream Sandwich 
    15     ICE_CREAM_SANDWICH_MR1 Android 4.0.3 Ice Cream Sandwich 
    16     JELLY_BEAN    Android 4.1 Jellybean 
    17     JELLY_BEAN_MR1   Android 4.2 Jellybean 
    18     JELLY_BEAN_MR2   Android 4.3 Jellybean 
    19     KITKAT     Android 4.4 KitKat 
    20     KITKAT_WATCH    Android 4.4 KitKat Watch 
    21     LOLLIPOP     Android 5.0 Lollipop 
    22     LOLLIPOP_MR1    Android 5.1 Lollipop 
    23     M       Android 6.0 Marshmallow 
    24     N       Android 7.0 Nougat 
    25     N_MR1      Android 7.1.1 Nougat 
    26     O       Android 8.0 Oreo 
    27     O_MR1      Android 8 Oreo MR1 
    10000    CUR_DEVELOPMENT   Current Development Version 

Lưu ý rằng một số thời gian giữa Android N và O, Android SDK bắt đầu răng cưa CUR_DEVELOPMENT và các nhà phát triển bản xem trước của phiên bản Android chính tiếp theo là cùng một giá trị SDK_INT (10000).

+0

Cảm ơn bạn chỉ không thể nhìn thấy nó;) – Prospero

+0

'android.os.Build.VERSION.SDK' không được dùng trong lollipop có nghĩa là" Bạn vẫn có thể sử dụng, nhưng không tin vào nó, bởi vì chúng tôi có thể sẽ thay thế với một thứ khác (hoặc loại bỏ hoàn toàn) trong các bản phát hành phần mềm trong tương lai. " –

+3

@ Duraiamuthan.H - Tôi đã đề cập rằng nếu bạn đang sử dụng API phiên bản 4 hoặc mới hơn, bạn nên chuyển sang sử dụng 'android.os.Build.VERSION.SDK_INT'. – birryree

-10

thử điều này: Float.valueOf (android.os.Build.VERSION.RELEASE) < = 2,1

+2

Giá trị này không được định nghĩa là phao, ví dụ "2.1-update1" –

131
Integer.valueOf(android.os.Build.VERSION.SDK); 

Giá trị là:

Platform Version API Level 
Android 6.0  23 
Android 5.1  22 
Android 5.0  21 
Android 4.4W  20 
Android 4.4  19 
Android 4.3       18 
Android 4.2  17 
Android 4.1       16 
Android 4.0.3     15 
Android 4.0       14 
Android 3.2       13 
Android 3.1       12 
Android 3.0       11 
Android 2.3.3     10 
Android 2.3       9 
Android 2.2       8 
Android 2.1       7 
Android 2.0.1     6 
Android 2.0       5 
Android 1.6       4 
Android 1.5       3 
Android 1.1       2 
Android 1.0       1 

LƯU Ý: không sử dụng android.os.Build.VERSION.SDK_INT nếu <uses-sdk android:minSdkVersion="3" />.

Bạn sẽ nhận ngoại lệ trên tất cả các thiết bị có Android 1.5 trở xuống vì Build.VERSION.SDK_INT là từ SDK 4 (Donut 1.6).

+0

Có một mẹo khác, bạn có thể sử dụng nó và sử dụng phản ánh để xem nếu SDK_INT tồn tại. Nếu nó không thì phiên bản là <= 3 và, ít nhất là cho mục đích của tôi, đó là đủ tốt. –

+0

Hoạt động hoàn hảo. Trong khi đó, có một số ít "cái mới": http://developer.android.com/reference/android/os/Build.VERSION_CODES.html –

+0

Tôi đã thêm chúng vào danh sách. –

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