如果我将minSdkVersion设置为8,但想为SdkVersion = 15指定一些方法,我该怎么做?

时间:2013-05-07 00:30:44

标签: android android-camera

我想开发一个Android应用程序,即使是版本较低的Android设备,我也不想牺牲更高版本的一些可用功能。

在AndroidManifest.xml文件中:

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

我获得了当前设备的android级别:

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

然后我将使用if语句为不同版本指定不同的代码。

if (deviceLevel >= 11) 
{
List<Camera.Size> videoSizes = parameters.getSupportedVideoSizes();
 ......
}
else 
{
 ......
}

但是,Eclipse表示存在错误。版本= 8;

不支持getSupportedVideoSizes

我认为我需要在这种情况下抑制错误。 怎么做?

2 个答案:

答案 0 :(得分:4)

您需要将@SupressLint("NewApi")添加到您的活动类。然后你需要使用android.os.Build.VERSION.SDK_INT;来获取版本int,它应该始终是API编号(即.Jelly Bean 4.2是API 17,使用17进行比较)或者你可以使用Build.VERSION_CODES.DESSERT_NAME_HERE,并将此值用于if-else以执行只能在更高级API中执行的操作。

答案 1 :(得分:0)

我认为如果将“minSdkVersion”更改为15会更好。因为在以前的设备上运行时很容易死掉。