5

我正在尝试获取应用程序的SDK 版本,但如果我测试

android.os.Build.VERSION.SDK_INT

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

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

谢谢。

4

3 回答 3

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
             * */
        }
    }
于 2013-06-05T10:34:19.070 回答
0

如果我没有误解

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

于 2013-06-05T10:29:27.600 回答
0

看看这个.. targetSdkVersion。

使用此代码:

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

也通过这个讨论。

于 2013-06-05T10:30:41.583 回答