0

我想为低版本的安卓设备开发一个安卓应用程序,而我不想牺牲高版本的一些可用功能。

在 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 表明存在错误。getSupportedVideoSizes 对于版本 = 8 不可用;

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

4

2 回答 2

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 中执行的操作。

于 2013-05-07T00:34:36.197 回答
0

我认为如果将“minSdkVersion”更改为 15 会更好。因为在 pervious 设备上运行时它很容易死机。

于 2013-05-07T01:06:16.887 回答