gpt4 book ai didi

android - 插入新联系人时自动联系人聚合不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:44 24 4
gpt4 key购买 nike

我使用以下代码向 Android 模拟器 (2.3.3) 插入 2 次相同的联系人:

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_DEFAULT)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null).build());

// structuredname
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "Test")
.withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, "Tester")
.withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, "Test")
.build());

// PHONE
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, "0")
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "12345678").build());

try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}

根据我的理解,Android 通常应该自动聚合联系人,使我的 2 个插入条目成为一个条目。然而这并没有发生,我可以在拨号器应用程序中看到 2 个具有相同数据的联系人。

有什么想法吗?

最佳答案

聚合仅适用于来自不同帐户的插入联系人。如果您从同一个帐户插入两个原始联系人,则不会汇总它们。

关于android - 插入新联系人时自动联系人聚合不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10834915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com