阅读Micromax Q50中的联系人列表

时间:2011-05-03 11:05:03

标签: java-me contacts

我使用以下代码阅读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失败了。

1 个答案:

答案 0 :(得分:0)

当你说“没有任何成功”时,你的意思是什么?究竟发生了什么?如果您的意思是FORMATTED_NAME是不受支持的联系人字段,则这些字段是可选的。使用PIMList.getSupportedFields()确定您可以在每个平台上阅读的字段。