我使用以下代码阅读Micromax Device中的联系人列表。 但没有任何成功。
try {
PIM t_pim = PIM.getInstance();
String[] namesOfContactLists = t_pim.listPIMLists(PIM.CONTACT_LIST);
PIMList t_pimlist = t_pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY, namesOfContactLists[0]);//namesOfContactLists[0] is the Phone List.
Enumeration t_enumeration = t_pimlist.items();
boolean isFormattedNameSupported = t_pimlist.isSupportedField(Contact.FORMATTED_NAME);
while (t_enumeration.hasMoreElements()) {
String t_contactName = "";
Contact t_contact = (Contact) t_enumeration.nextElement();
if (isFormattedNameSupported) {
if (t_contact.countValues(Contact.FORMATTED_NAME) > 0) {
t_contactName = t_contact.getString(Contact.FORMATTED_NAME, 0);//Throws UnsupportedFieldException
}
}
}
} catch (PIMException ex) {
ex.printStackTrace();
}
其他选项,如Contact.NAME,Contact.NAME_GIVEN,Contact.NAME_FAMILY,Contact.NAME_OTHER,Contact.NAME_PREFIX,Contact.NAME_SUFFIX,Contact.NICKNAME也会抛出相同的UnsupportedFieldException。
此代码适用于诺基亚和索尼爱立信设备。但Micromax失败了。
答案 0 :(得分:0)
当你说“没有任何成功”时,你的意思是什么?究竟发生了什么?如果您的意思是FORMATTED_NAME是不受支持的联系人字段,则这些字段是可选的。使用PIMList.getSupportedFields()
确定您可以在每个平台上阅读的字段。