我怎样才能检查代码的Android版本像1.5或1.6

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

Solutions Collecting From Web of "我怎样才能检查代码的Android版本像1.5或1.6"

我正在寻找这个,并没有find解决办法 – 结束了在这里,我想出了自己,所以任何人在那里寻找这个:

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

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

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

 String deviceVersion = Build.VERSION.RELEASE; 

我认为这是我自己的问题的重复: ndk版本在运行时 。 简短的回答:原生应用程序没有简单的方法来做到这一点(然而,你可以运行一个Java应用程序,并与它通信获取版本)。

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

这工作

还input以下内容:

 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; }