我想开发一个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我认为我需要在这种情况下抑制错误。 怎么做?
答案 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会更好。因为在以前的设备上运行时很容易死掉。