3

我想在android中創建一個具有特定聯繫人ID的rawcontact,因此它被鏈接到具有相同contactid(不是rawcontactid)的其他rawcontact。插入RawContact與特定的聯繫人

問題是我無法將Contact_ID插入ContentProviderOpertations。 使用下面的代碼返回「插入失敗」

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
    int id = (int) contactId; 

    String condition = Data.RAW_CONTACT_ID + "=?"; 
    String[] parameters = { "" + id }; 

    try { 

     String accountName = account.name; 
     String accountType = account.type; 
     ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) 
       .withValue(RawContacts.ACCOUNT_TYPE, accountType) 
       .withValue(RawContacts.ACCOUNT_NAME, accountName).build()); 
     ops.add(getAccountGroupOperation(account)); 

     ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
       .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
       .withValue(Data.CONTACT_ID, "" + id) 
       .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 
       .withValue(StructuredName.DISPLAY_NAME, contact.getName()) 
       .build()); 
     MyApplication.getAppContext().getContentResolver() 
       .applyBatch(ContactsContract.AUTHORITY, ops); 
    } catch (Exception e) { 
     ... 
    } 

我在做什麼錯?

回答

0

你不能這樣做。 Android聯繫人彙總器會將原始聯繫人自動彙總到聯繫人中。您不必擔心將聯繫人分配給聯繫人。

相關問題