প্রোগ্রামগতভাবে কোনও ডিভাইসের অ্যান্ড্রয়েড এপিআই স্তরটি পাবেন?


104

আমার ডিভাইসটি কোন API স্তরের ব্যবহার করছে তা আমি কীভাবে জানতে পারি?

ফার্মওয়্যার সংস্করণটি 1.6। এর অর্থ কি এটি API স্তর 4 ব্যবহার করে?

উত্তর:


105

আপনি সিস্টেম ধ্রুবক ( Build.VERSION.SDK_INT) দ্বারা প্রোগ্রামের মাধ্যমে এপিআই স্তর অর্জন করতে পারেন । উদাহরণস্বরূপ আপনি কয়েকটি কোডের চালনা করতে পারেন যার জন্য নিম্নলিখিত উপায়ে নতুন এপিআই প্রয়োজন (এটি বর্তমান ডিভাইসের এপিআই স্তরটি কমপক্ষে 4 হলে কার্যকর হবে)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.DONUT) {

}

ব্যবহারকারীদের দৃশ্যমান অ্যান্ড্রয়েড সংস্করণ ব্যবহার করতে:

Build.VERSION.RELEASE

38

আপনার যা প্রয়োজন: http://developer.android.com/references/android/os/Build.VERSION_CODES.html

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.1 Oreo MR1
   28                  P                         Android 9 Pie
   29                  Q                         Android 10 Q
  10000                CUR_DEVELOPMENT           Current Development Version

7
আমি মনে করি এই তালিকাটির আপডেট হতে পারে
jcw

তালিকা আপডেট করেছেন
বিবেক

9

জন্য এপিআই শ্রেনী> = 4 আপনি ব্যবহার করতে পারেন Build.VERSION.SDK_INT

private String getAndroidVersion(int sdk) {
    switch (sdk) {
        case 1:  return                          "(Android 1.0)";
        case 2:  return  "Petit Four"          + "(Android 1.1)";
        case 3:  return  "Cupcake"             + "(Android 1.5)";
        case 4:  return  "Donut"               + "(Android 1.6)";
        case 5:  return  "Eclair"              + "(Android 2.0)";
        case 6:  return  "Eclair"              + "(Android 2.0.1)";
        case 7:  return  "Eclair"              + "(Android 2.1)";
        case 8:  return  "Froyo"               + "(Android 2.2)";
        case 9:  return  "Gingerbread"         + "(Android 2.3)";
        case 10: return  "Gingerbread"         + "(Android 2.3.3)";
        case 11: return  "Honeycomb"           + "(Android 3.0)";
        case 12: return  "Honeycomb"           + "(Android 3.1)";
        case 13: return  "Honeycomb"           + "(Android 3.2)";
        case 14: return  "Ice Cream Sandwich"  + "(Android 4.0)";
        case 15: return  "Ice Cream Sandwich"  + "(Android 4.0.3)";
        case 16: return  "Jelly Bean"          + "(Android 4.1)";
        case 17: return  "Jelly Bean"          + "(Android 4.2)";
        case 18: return  "Jelly Bean"          + "(Android 4.3)";
        case 19: return  "KitKat"              + "(Android 4.4)";
        case 20: return  "KitKat Watch"        + "(Android 4.4)";
        case 21: return  "Lollipop"            + "(Android 5.0)";
        case 22: return  "Lollipop"            + "(Android 5.1)";
        case 23: return  "Marshmallow"         + "(Android 6.0)";
        case 24: return  "Nougat"              + "(Android 7.0)";
        case 25: return  "Nougat"              + "(Android 7.1.1)";
        case 26: return  "Oreo"                + "(Android 8.0)";
        case 27: return  "Oreo"                + "(Android 8.1)";
        case 28: return  "Pie"                 + "(Android 9.0)";
        case 29: return  "Q"                   + "(Android 10.0)";
        default: return  "";
    }
}

ব্যবহার

String android_os = getAndroidVersion(android.os.Build.VERSION.SDK_INT);

এটি অর্থহীন, প্রথমে আপনি একটি বিল্ড সীমা নির্দিষ্ট করুন তবে পূর্ববর্তী এপিআইয়ের জন্য কেসটি সরবরাহ করুন ... বিল্ড. ভার্সন.আরলিএএসই আপনাকে সংখ্যার সংস্করণ দেবে, বিল্ড. ভার্সন.এসডি কেএনপিটি আপনাকে আরও ভাল অ্যানালিটিসি নম্বর দেবে। নাম জন্য, আমি অনুমান আপনি এই প্রতিফলন সমাধান ব্যবহার করতে পারেন: stackoverflow.com/a/13258693/4391450
AxelH

@ এক্সেলএইচটি লিঙ্কটি ভাগ করে নেওয়ার জন্য ধন্যবাদ। আমার দয়ালু পদ্ধতিটি সাধারণ এবং কিছু অন্যান্য পোস্টের কিছু লোক কেবল সহজ হওয়ার জন্য ব্যবহার করে।
সায়কা

হ্যাঁ আমি ধারণাটি এবং "চতুর" অংশটি পেয়েছি তবে নতুন এপিআইয়ের কারণে প্রতি বছর পদ্ধতিটি আপডেট করার দরকার নেই।
অ্যাক্সেলএইচ

4

আপনার ডিভাইসটির বর্তমান এপিআই পেতে:

int MyDeviceAPI = Build.VERSION.SDK_INT;

4

খুব সহজ:

String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
int version = Build.VERSION.SDK_INT;
String versionRelease = Build.VERSION.RELEASE;

Log.e("MyActivity", "manufacturer " + manufacturer
            + " \n model " + model
            + " \n version " + version
            + " \n versionRelease " + versionRelease
     );

আউটপুট:

E/MyActivity: manufacturer samsung 
                model SM-T310 
                version 19 
                versionRelease 4.4.2

3

প্রথম সংস্করণ ব্যবহার করা হয়েছিল Build.VERSION.SDK

 String myAPI= Build.VERSION.SDK;

তবে এখন হতাশ!

এসডিকে এই ক্ষেত্রটি এপিআই লেভেল 4 অবমাননিত হয়েছিল।

এখন আপনাকে ব্যবহার করতে হবে: এসডিকেটপ এটিপি লেভেল 4 এ যুক্ত হয়েছে:

  int myAPI = Build.VERSION.SDK_INT;

SDK_INT ফ্রেমওয়ার্কটির ব্যবহারকারী-দ্বারা দৃশ্যমান SDK সংস্করণ; এর সম্ভাব্য মানগুলি বিল্ডে সংজ্ঞায়িত করা হয়েছে V VERSION_CODES।

অধিক তথ্য:

http://developer.android.com/reference/android/os/Build.VERSION.html


3

আপনি নিম্নলিখিত হিসাবে ডিভাইসের তথ্য পেতে পারেন।

Log.d(TAG, "RELEASE : " + Build.VERSION.RELEASE);
Log.d(TAG, "SDK     : " + Build.VERSION.SDK_INT);

এবং ওএস থেকে অ্যান্ড্রয়েড সংস্করণ কোড ইতিহাস পেতে পারেন।

for (Field field : Build.VERSION_CODES.class.getDeclaredFields()) {
  field.setAccessible(true);
  Log.d(TAG, field.get(this) + " -> " + field.getName());
}

এটি আউটপুট।

RELEASE : 5.1.1
SDK     : 22

1 -> BASE
2 -> BASE_1_1
3 -> CUPCAKE
10000 -> CUR_DEVELOPMENT
4 -> DONUT
5 -> ECLAIR
6 -> ECLAIR_0_1
7 -> ECLAIR_MR1
8 -> FROYO
9 -> GINGERBREAD
10 -> GINGERBREAD_MR1
11 -> HONEYCOMB
12 -> HONEYCOMB_MR1
13 -> HONEYCOMB_MR2
14 -> ICE_CREAM_SANDWICH
15 -> ICE_CREAM_SANDWICH_MR1
16 -> JELLY_BEAN
17 -> JELLY_BEAN_MR1
18 -> JELLY_BEAN_MR2
19 -> KITKAT
20 -> KITKAT_WATCH
21 -> L
21 -> LOLLIPOP
22 -> LOLLIPOP_MR1

সুতরাং, এই এবং অফিসিয়াল সংস্করণ তালিকা একত্রিত করুন ।

API VERSION_CODE           VERSION       CODE_NAME 
1   BASE                   1             (no code name)
2   BASE_1_1               1.1           (no code name)
3   CUPCAKE                1.5           Cupcake
4   DONUT                  1.6           Donut
5   ECLAIR                 2             Eclair
6   ECLAIR_0_1             2.0.1         Eclair
7   ECLAIR_MR1             2.1           Eclair
8   FROYO                  2.2.x         Froyo
9   GINGERBREAD            2.3 - 2.3.2   Gingerbread
10  GINGERBREAD_MR1        2.3.3 - 2.3.7 Gingerbread
11  HONEYCOMB              3             Honeycomb
12  HONEYCOMB_MR1          3.1           Honeycomb
13  HONEYCOMB_MR2          3.2.x         Honeycomb
14  ICE_CREAM_SANDWICH     4.0.1 - 4.0.2 Ice Cream Sandwich
15  ICE_CREAM_SANDWICH_MR1 4.0.3 - 4.0.4 Ice Cream Sandwich
16  JELLY_BEAN             4.1.x         Jelly Bean
17  JELLY_BEAN_MR1         4.2.x         Jelly Bean
18  JELLY_BEAN_MR2         4.3.x         Jelly Bean
19  KITKAT                 4.4 - 4.4.4   KitKat
20  KITKAT_WATCH           4.4W          KitKat Watch
21  LOLLIPOP               5             Lollipop
22  LOLLIPOP_MR1           5.1           Lollipop
23  M                      6             Marshmallow
24  N                      7             Nougat
25  N_MR1                  7.1           Nougat

এটি বলছে, এপিআই 25 এর একটি সংস্করণ_ কোড হ'ল এন_এমআর 1।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.