如何以编程方式加入android中的2个联系人?

cri*_*nda 9 api merge android join contacts

我需要知道是否可以加入两个或更多联系人(以编程方式,使用Contacts android API或其他东西).

例如,我有一个带有电子邮件帐户和电话号码的"Axel Rose"联系人,我注意到一些应用程序,如whatsapp,Facebook和Skype正在为Axel Rose创建新的联系人条目,而不是合并现有的.

我可以使用手机中的"加入功能"加入联系人,但是有一种编程方式吗?

提前致谢.
克里斯蒂安.

小智 1

您可以使用AggregationExceptions。请参阅如何手动聚合联系人

联系人提供程序文档是了解联系人和聚合如何工作的好地方

简短的摘要:

您在电话簿中看到的联系人是 ContactsContract.Contacts 表中的联系人。电话簿上显示的照片、电话等来自不同的 RawContacts 条目。一个联系人可以有一个或多个 RawContact。

当 RawContact 共享一些公共数据(姓名、电话号码、电子邮件等)时,一个联系人恰好有多个 RawContact。此 RawContacts 并集为单个联系人是通过自动聚合规则进行的(请参阅联系人基础文档)。

您无法在 ContactsContract.Contacts 表上插入联系人。从文档中:

注意:如果您尝试使用 insert() 将联系人添加到联系人提供程序,您将收到 UnsupportedOperationException 异常。如果您尝试更新列为“只读”的列,则更新将被忽略。