我正在编写一个添加日历活动的应用。
对于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手机上添加对新操作系统功能的支持时,如何支持旧版操作系统?
我是否创建了两个版本的应用并将其上传到市场?用户会看到适合他们操作系统的版本吗?
答案 0 :(得分:3)
这是你可以做的工作:
将minSDK版本设置为2.1,将目标版本设置为ICS。
然后,在项目的属性中,构建针对ICS(android 4.0)..
这样,你构建的是4.0,它将包含你在ICS中需要的功能,但你仍然会支持android 2.1
只要你在2.1上运行时没有调用任何ICS API(如果你这样做,你会得到classnotfound异常),你会没事的。