j2me ContactList.commit() ошибка

У меня есть приложение, которое используется для записи контактов с помощью ContactList.commit(). Я использую это приложение на 2 разных мобильных телефонах, один из которых Nokia X2-02, а другой Samsung DUOS E2252. Когда я использую этот код в Samsung DUOS, он идет внутрь if утверждение, что означает, что поддерживает эти поля Contact.TEL а также Contact.ATTR_MOBILE и, вероятно, также выполняет c.addString(...) заявление. Но при совершении использования c.commit() это бросает PIMException и просто игнорирует весь контакт, в то время как с помощью того же приложения в телефоне Nokia он работает нормально. Интересно, Samsung не поддерживает ATTR_MOBILE поле, он должен просто игнорировать это поле, но вместо этого он генерирует исключение и игнорирует весь контакт. То, что я хочу сделать, это просто игнорировать это конкретное поле, если оно не добавляет это или что-то еще, а не игнорировать контакт. Мой код для этой части ниже

if (clist.isSupportedField(Contact.TEL)) {
                if ((clist.isSupportedAttribute(Contact.TEL, Contact.ATTR_HOME)) && (contact.getPhoneHome() != null)) {
                    c.addString(Contact.TEL, Contact.ATTR_HOME, contact.getPhoneHome());
                }
                if ((clist.isSupportedAttribute(Contact.TEL, Contact.ATTR_PAGER)) && (contact.getPager() != null)) {
                    c.addString(Contact.TEL, Contact.ATTR_PAGER, contact.getPager());
                }
                if ((clist.isSupportedAttribute(Contact.TEL, Contact.ATTR_MOBILE)) && (contact.getPhoneMobile() != null)) {
                    c.addString(Contact.TEL, Contact.ATTR_MOBILE, contact.getPhoneMobile());
                }
      }   c.commit();

0 ответов

Другие вопросы по тегам