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

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

我一直在寻找这个并没有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; }