Bagaimana saya dapat periksa versi sistem Android?

Tidak ada yang tahu bagaimana saya dapat periksa versi sistem (misalnya 1.0, 2.2, dll.) secara programatik?

Mengomentari pertanyaan (1)

Contoh cara menggunakannya:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
     // only for gingerbread and newer versions
}
Komentar (4)
Larutan

Cek android.os.Membangun.VERSI.

  • CODENAME: saat ini perkembangan codename, atau string "REL" jika ini adalah rilis yang membangun.
  • INKREMENTAL: nilai internal yang digunakan oleh sumber yang mendasari kontrol untuk mewakili membangun ini.
  • RELEASE: Yang dilihat pengguna versi string.
Komentar (5)

Membangun.Versi adalah tempat di buka untuk data ini. Berikut adalah potongan kode untuk bagaimana format itu.

public String getAndroidVersion() {
    String release = Build.VERSION.RELEASE;
    int sdkVersion = Build.VERSION.SDK_INT;
    return "Android SDK: " + sdkVersion + " (" + release +")";
}

Terlihat seperti ini "Android SDK: 19 (4.4.4)"

Komentar (0)
Build.VERSION.RELEASE;

Yang akan memberikan anda angka-angka yang sebenarnya dari versi; alias 2.3.3 atau 2.2. Masalah dengan menggunakan Membangun.VERSI.SDK_INT adalah jika anda memiliki telepon berakar atau custom rom, anda bisa memiliki tidak ada standar OS (alias android saya menjalankan 2.3.5) dan yang akan mengembalikan null jika menggunakan Membangun.VERSI.SDK_INT jadi Membangun.VERSI.RILIS akan bekerja tidak peduli apa!

Komentar (4)

Untuk memeriksa versi perangkat yang lebih besar dari atau sama dengan Marshmallow ,gunakan kode ini.

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M){

    }

untuk ckecking orang lain hanya mengubah VERSION_CODES seperti, K untuk kitkat, L untuk loolipop N untuk Nougat dan sebagainya...

Komentar (0)

Anda dapat mengetahui versi Android melihat Membangun.VERSI.

Dokumentasi merekomendasikan anda memeriksa Membangun.VERSI.SDK_INT terhadap nilai-nilai di Membangun.VERSION_CODES.

Ini adalah baik-baik saja asalkan anda menyadari bahwa Membangun.VERSI.SDK_INT hanya diperkenalkan pada API Level 4, yang mengatakan Android 1.6 (Donut). Jadi ini tidak't mempengaruhi anda, tetapi jika anda tidak ingin aplikasi anda berjalan pada Android 1.5 atau lebih awal maka anda akan memiliki untuk menggunakan usang Membangun.VERSI.SDK sebaliknya.

Komentar (0)

Saya dapat't mengomentari jawaban, tapi ada kesalahan besar dalam Kaushik's jawaban: SDK_INT tidak sama seperti versi sistem tetapi sebenarnya mengacu pada API Level.

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
    //this code will be executed on devices running ICS or later
}

Nilai Membangun.VERSION_CODES.ICE_CREAM_SANDWICH sama dengan 14. 14 adalah API tingkat Ice Cream Sandwich, sedangkan sistem versi 4.0. Jadi jika anda menulis 4.0, kode anda akan dijalankan pada semua perangkat mulai dari Donat, karena 4 adalah API tingkat Donat (Membangun.VERSION_CODES.DONAT sama dengan 4).

if(Build.VERSION.SDK_INT >= 4.0){
    //this code will be executed on devices running on DONUT (NOT ICS) or later
}

Contoh ini adalah alasan mengapa menggunakan 'angka ajaib' adalah kebiasaan buruk.

Komentar (2)

Diketahui bahwa [Membangun.VERSI.SDK_INT][1] isn't dapat diandalkan,'s yang disebutkan oleh @Falcon165o dan baru-baru ini aku berlari ke yang satu itu juga.

Sehingga untuk mendapatkan data String (berdasarkan [versi Android klik disini][2]) dari saat ini diinstal android, saya membuat kode seperti ini:

Jawa


//Current Android version data
public static String currentVersion(){
    double release=Double.parseDouble(Build.VERSION.RELEASE.replaceAll("(\\d+[.]\\d+)(.*)","$1"));
    String codeName="Unsupported";//below Jelly bean OR above Oreo
    if(release>=4.1 && release
Komentar (2)

Misalnya, fitur ini hanya bekerja untuk api21 berikut kami memperbaiki bug di api21 turun

    if(Build.VERSION.SDK_INT >= 21) {
    //only api 21 above
    }else{
   //only api 21 down
    }
Komentar (0)
if (Build.VERSION.SDK_INT >= ApiHelper.VERSION_CODES.HONEYCOMB_MR2) {
//do anything you  like.
}
Komentar (2)

menggunakan kelas ini

import android.os.Build;

/**
 * Created by MOMANI on 2016/04/14.
 */
public class AndroidVersionUtil {
    public static int getApiVersion() {
        return android.os.Build.VERSION.SDK_INT;
    }

    public static boolean isApiVersionGraterOrEqual(int thisVersion) {
        return android.os.Build.VERSION.SDK_INT >= thisVersion;
    }
}
Komentar (0)

Menggunakan metode Ini:

 public static String getAndroidVersion() {
        String versionName = "";

        try {
             versionName = String.valueOf(Build.VERSION.RELEASE);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return versionName;
    }
Komentar (1)