Java me j2me ContactList.commit()错误

Java me j2me ContactList.commit()错误,java-me,nokia,jsr75,pim,Java Me,Nokia,Jsr75,Pim,我有一个应用程序,它使用ContactList.commit()编写联系人。我在两款不同的手机上使用此应用程序,一款是诺基亚X2-02,另一款是三星DUOS E2252。 当我在Samsung DUOS中使用此代码时,它包含在if语句中,这意味着它支持Contact.TEL和Contact.ATTR_MOBILE的这些字段,并且可能还执行c.addString(…)语句。但是当使用c.commit()进行提交时,它会抛出PIMException并忽略整个联系人,而在诺基亚手机中使用相同的应用程序

我有一个应用程序,它使用ContactList.commit()编写联系人。我在两款不同的手机上使用此应用程序,一款是诺基亚X2-02,另一款是三星DUOS E2252。 当我在Samsung DUOS中使用此代码时,它包含在
if
语句中,这意味着它支持
Contact.TEL
Contact.ATTR_MOBILE
的这些字段,并且可能还执行
c.addString(…)
语句。但是当使用
c.commit()
进行提交时,它会抛出
PIMException
并忽略整个联系人,而在诺基亚手机中使用相同的应用程序时,它工作正常。我想知道,如果三星不支持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();

有人吗?我也被困在这个问题中…我很久以前就发现了它的解决方案,现在它工作得很好。。。