如何获取应用程序的SDK版本而不是设备?

时间:2013-06-05 10:26:56

标签: java android

我试图获取应用的 SDK版本,但如果我测试

android.os.Build.VERSION.SDK_INT

在针对2.3.3的应用程序中,我得到的设备的版本是17而不是10。

我不知道我的代码将编译的SDK版本,因为我正在编写一个代码段,开发人员可以将其添加到自己的应用程序中。

感谢。

3 个答案:

答案 0 :(得分:1)

您应始终定位最新版本。这将为您带来最新的API。 我想您需要知道设备上可用的API的当前版本。为此你会做这样的事情(检查当前API是否为2.3):

@TargetApi(Build.VERSION_CODES.GINGERBREAD)
    public static void someMethod() {
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
            /**
             * Call code accessible from Gingerbread onwards
             * */
        } else {
            /**
             * Call code from previous API
             * */
        }
    }

答案 1 :(得分:0)

如果我没有误解

您需要android.os.Build.VERSION.RELEASE;

答案 2 :(得分:0)

看看这个.. targetSdkVersion.

使用此代码:

    ApplicationInfo info=getApplicationInfo();// this class give info from the application tag in the manifest file
    final int target=info.targetSdkVersion;

同时浏览此discussion.