如何检查Android版本的代码,如1.5或1.6

我需要检查目标设备上当前运行的Android发行版本的代码。 你能提供代码示例吗?

  • android ndk vs sdk - 如果涉及function
  • SharedPreferences类的最大大小
  • android studio找不到“Activity”符号
  • 我可以对隐私url做些什么?
  • 你如何获得Android的当前DNS服务器?
  • ADB和Genymotion错误:“adb服务器已过期。 kill ...无法绑定'tcp:5037'ADB服务器没有确认“
  • IntelliJ IDEA - Android JDK不起作用
  • 单击通知图标时如何将应用程序置于前面(来自服务)?
  • 我一直在寻找这个并没有find解决方案 – 结束了这里,我自己想出来,所以对于那里寻找这个的人:

    int SDK_INT = android.os.Build.VERSION.SDK_INT;

    这将返回os sdk 7级eclair 8 froyo等

    要获得Android的构建版本,如:2.2,2.3.3,4.0或4.0.3 … 使用以下代码:

     String deviceVersion = Build.VERSION.RELEASE; 

    我认为这是我自己的问题的重复: 运行时的ndk版本 。 简短的回答:本机应用程序没有简单的方法可以执行此操作(但您可以运行Java应用程序并与之通信以获取版本)。

    你可以在你的设备上执行getprop ro.build.version.release shell命令吗?

    这很有效

    还导入以下内容:

     import com.android.phonetests.TEST_INTERFACE; import android.os.Build; import android.app.ActivityThread; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; private int GetSDKVersion() { int version = 0; IPackageManager pm = ActivityThread.getPackageManager(); try { //returns a ref to my application according to its application name ApplicationInfo applicationInfo = pm.getApplicationInfo("com.android.phonetests", 0); if (applicationInfo != null) { version = applicationInfo.targetSdkVersion; ////this makes the same -> version = Build.VERSION.SDK_INT Log.i(LOG_TAG,"[DBG] version: " + version); //2 is 5 //2.01 6 (Donut - 2.01) //2.2 7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release) switch (version) { case Build.VERSION_CODES.ECLAIR_MR1: Log.i(LOG_TAG,"[DBG] version: ECLAIR");//2.2 7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release) break; case Build.VERSION_CODES.DONUT: Log.i(LOG_TAG,"[DBG] version: DONUT");//2.01 6 (Donut - 2.01) break; } } } catch (android.os.RemoteException e){} return version; }