Android 添加联系人信息时出现问题

Android 添加联系人信息时出现问题,android,contacts,Android,Contacts,我试图从一个xml文件中添加一些联系人,该文件已使用Simple xml framework序列化,但出现了一个奇怪的错误: ERROR/ContentProviderOperation(10727):mType:1,mUri:content://com.android.contacts/data,mSelection:null,meexpectedcount:null,mYieldAllowed:false,mValues:data1=Karl Koffi Marx Antoine Carte

我试图从一个xml文件中添加一些联系人,该文件已使用Simple xml framework序列化,但出现了一个奇怪的错误:

ERROR/ContentProviderOperation(10727):mType:1,mUri:content://com.android.contacts/data,mSelection:null,meexpectedcount:null,mYieldAllowed:false,mValues:data1=Karl Koffi Marx Antoine Carter mimetype=vnd.android.cursor.item/name,mValuesBackReferences:raw_contact_id=1,mSelectionArgsBackReferences:null

这是密码

ContactList contactList = serializer.read(ContactList.class, xmlFile);
int nbreContacts = contactList.contact.length;
for(int i=0;i<nbreContacts;i++)
{
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
   .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
   .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
   .build());
id = contactList.contact[i].getId();
name = contactList.contact[i].getName();
addName(Integer.parseInt(id), name);
flush(c);
}

private void addName(int contactId, String displayName) 
{
    if(displayName != null)
     {
      ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
         .withValueBackReference(Data.RAW_CONTACT_ID, contactId)
         .withValueData.MIMETYPE,ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
         .withValue(CommonDataKinds.StructuredName.DISPLAY_NAME, displayName)
         .build());
     }                 
}

private void flush(Context c) 
{       
    ContentResolver cr = c.getContentResolver();        
    try 
    {
    cr.applyBatch(ContactsContract.AUTHORITY, ops); 
    } 
    catch (RemoteException e) 
    {
        Log.e("Writing", "Remote Error writting data ", e);
    } 
    catch (OperationApplicationException e) 
    {       
        Log.e("Writing", "OAE Error writting data", e);
    }
}
ContactList ContactList=serializer.read(ContactList.class,xmlFile);
int nbreContacts=contactList.contact.length;

对于(inti=0;i,感谢聊天室中的@Reno

withValueBackReference(Data.RAW\u CONTACT\u ID,contactId)
更改为
。withValueBackReference(Data.RAW\u CONTACT\u ID,0)
我首先认为原始联系人ID指的是联系人ID,这就是我错的原因。问题解决了,希望这能帮助其他人:)