将原始联系人Android复制到我应用的帐户。 Android联系人应用中重复的联系人

时间:2016-07-09 03:02:27

标签: android android-contentprovider contacts android-contacts

请帮帮我这个问题。 我正在尝试将其他帐户中的所有联系人复制到我应用的帐户。因此,我将所有不属于我应用帐户的原始联系人复制到我应用的帐户。我将RawContacts.CONTACT_ID设置为与复制的相同,以避免在Android Contacts应用中出现重复。这意味着RawContacts._ID将是不同的,但RawContacts.CONTACT_ID应该是相同的。

   protected Builder buildEntry(ContentProviderOperation.Builder builder, Resource resource) {
        Contact contact = (Contact) resource;
        EntriesFields entry = getEntriesField(resource);

            builder = builder
                    .withValue(RawContacts.ACCOUNT_NAME, account.name)
                    .withValue(RawContacts.ACCOUNT_TYPE, account.type)
                    .withValue(entry.entryColumnRemoteName(), contact.getName())
                    .withValue(entry.entryColumnUID(), contact.getUid())
                    .withValue(entry.entryColumnUnknow(), contact.getUnknownProperties())

                    .withValue(RawContacts.CONTACT_ID, contact.getContactId())
                    
                    .withValue(entry.entryColumnDirty(), 1);
    }
}

但我遇到了这些问题:

  1. 如果联系人不属于可见组(“Contacts.IN_VISIBLE_GROUP”!= 1),则无法将源联系人的RawContacts.CONTACT_ID设置为新联系人。

  2. 使用一些特殊的联系人,即使他们在IN_VISIBLE_GROUP,但它也在Android Contact的应用程序中重复(这意味着设置RawContacts.CONTACT_ID不起作用)。

  3. 你有没有遇到过这些问题,任何提示都会非常感激。

    感谢。

0 个答案:

没有答案