插入新的原始联系人时强行创建新联系人

时间:2013-01-18 08:29:22

标签: android android-contacts

根据官方文档,当联系人的数据库中插入新的RawContact时,系统会启动聚合机制,以找到插入的Contact将成为RawContact的{​​{1}}与...汇总。

如果联系人数据库中存在类似的联系信息,则插入的RawContact将与现有Contact聚合,如果缺少此类信息,系统将创建新的Contact 1}}并将汇总插入的RawContact

我已经浏览了ContactsContract.AggregationExceptionsContactsContract.Contacts.AggregationSuggestions,但没有找到任何可以帮助我弄清楚如何强制告诉系统创建新Contact的信息我在我的应用程序中插入了一个新的RawContact

如果有人知道该怎么做,我很乐意得到你的建议。

谢谢

1 个答案:

答案 0 :(得分:4)

要创建新联系人,请在ACCOUNT_NAME中插入ACCOUNT_TYPEContactsContract.RawContacts的值,然后获取新行_ID。在将联系人数据插入_ID时,请使用此RAW_CONTACT_ID填写ContactsContract.Data

_ID中的新ContactsContract.RawContacts不应该已经存在,因此在ContactsContract.Data中插入/更新相应数据之前不会聚合。

ContactsContract.Contacts只是一个自动聚合表,可以简化数据查询。你不应该直接改变它。