Чтение списка контактов в Micromax Q50 - PullRequest
0 голосов
/ 03 мая 2011

Я использую следующий код для чтения списка контактов в 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.

Этот код отлично работает на устройствах Nokia и Sony Ericsson. Но терпит неудачу на Micromax.

1 Ответ

0 голосов
/ 03 мая 2011

Когда вы говорите «безуспешно», что вы имеете в виду? Что на самом деле происходит? Если вы имеете в виду, что FORMATTED_NAME является неподдерживаемым полем для контакта, то эти поля являются необязательными. Используйте PIMList.getSupportedFields(), чтобы выяснить, какие поля вы можете прочитать на каждой платформе.

...