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