2

我正在编写一个添加日历事件的应用程序。

对于 ICS 之前的操作系统版本,我需要使用不受支持且可能会更改的 contentResolver 查询。

使用 ICS,执行此类操作的 API 是使用 CalendarContract 提供程序。因此,我计划检测 OS API 版本并针对 ICS 前操作系统和 ICS 使用适当的方法。

在我的清单中,我有以下内容来支持 Android 2.1 到 4.x:

uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14"

但是除非我将 CalendarContract 设置为 14,否则无法导入 CalendarContract minSdkVersion,这使得在 ICS 之前运行任何东西的任何人都无法访问该应用程序。

如何在支持 ICS 手机的新操作系统功能的同时支持旧版本的操作系统?

我是否要创建两个版本的应用程序并将两个版本都上传到市场?用户会看到适合其操作系统的版本吗?

4

1 回答 1

3

这就是您可以做的事情:

将 minSDK 版本设置为 2.1,将目标版本设置为 ICS。

然后,在项目的属性中,针对 ICS (android 4.0) 构建..

这样,您将针对 4.0 进行构建,它将包含您在 ICS 中所需的功能,但您仍将支持 android 2.1

只要你在 2.1 上运行时不调用任何 ICS API(如果你这样做,你会得到 classnotfound 异常),你会没事的。

于 2012-04-10T21:27:43.087 回答