Java Android联系人跨多个SDK版本进行合同和构建

Java Android联系人跨多个SDK版本进行合同和构建,java,android,contacts,Java,Android,Contacts,我需要我的应用程序在所有Android版本上运行,但Contacts API在2.0中发生了变化 在SDK 1.6和更早版本中,我使用android.provider.Contacts查询联系人数据库,但在2.0中不起作用 相反,对于2.0,我使用android.provider.ContactsContract。这就产生了一个问题:当我有ContactsContract的代码时,我的应用程序将无法为1.6及更低版本构建 我需要两个不同版本的应用程序吗(一个用于你可以在Android上使用Jav

我需要我的应用程序在所有Android版本上运行,但Contacts API在2.0中发生了变化

在SDK 1.6和更早版本中,我使用android.provider.Contacts查询联系人数据库,但在2.0中不起作用

相反,对于2.0,我使用android.provider.ContactsContract。这就产生了一个问题:当我有ContactsContract的代码时,我的应用程序将无法为1.6及更低版本构建


我需要两个不同版本的应用程序吗(一个用于你可以在Android上使用Java反射支持这两个版本。有趣的是:

uribaseuri=Contacts.Phones.CONTENT\u FILTER\u URL;
试一试{
Class c=Class.forName(“android.provider.contacts合同$PhoneLookup”);
baseUri=(Uri)c.getField(“CONTENT\u FILTER\u Uri”).get(baseUri);
} 
捕获(例外e){
}
Uri baseUri = Contacts.Phones.CONTENT_FILTER_URL;
try {
    Class<?> c = Class.forName("android.provider.ContactsContract$PhoneLookup");
    baseUri = (Uri) c.getField("CONTENT_FILTER_URI").get(baseUri);
} 
    catch (Exception e) {
}