编写向后兼容的ICS Android应用程序

时间:2012-04-10 21:24:06

标签: android calendar android-4.0-ice-cream-sandwich

我正在编写一个添加日历活动的应用。

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

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

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

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

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

如何在ICS手机上添加对新操作系统功能的支持时,如何支持旧版操作系统?

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

1 个答案:

答案 0 :(得分:3)

这是你可以做的工作:

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

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

这样,你构建的是4.0,它将包含你在ICS中需要的功能,但你仍然会支持android 2.1

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