0

ContactList.commit()を使用して連絡先を作成するために使用するアプリケーションがあります。私はこのアプリを2つの異なる携帯電話で使用しています。1つはNokiaX2-02で、もう1つはSamsungDUOSE2252です。このコードをSamsungDUOSで使用すると、ifステートメントの内部に入ります。つまり、とのこれらのフィールドをサポートしContact.TELContact.ATTR_MOBILEおそらくc.addString(...)ステートメントも実行します。しかし、c.commit()それを使用してコミットすると、連絡先全体がスローPIMExceptionされて無視されますが、Nokia電話で同じアプリケーションを使用すると正常に動作します。サムスンはサポートしていないのだろうか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();
4

0 に答える 0