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

时间:2012-08-15 01:00:40

标签: android api join merge contacts

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

例如,我有一个联系人“Axel Rose”,其中包含电子邮件帐户和电话号码, 而且我注意到像whatsapp,Facebook和Skype这样的应用程序正在为Axel Rose创建新的联系人条目,而不是合并现有的。

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

提前致谢。
克里斯蒂安。

1 个答案:

答案 0 :(得分:1)

您可以使用AggregationExceptions。请参阅How to manual aggregate contacts

了解联系人和汇总如何运作的好地方是Contacts Provider Documentation

简短摘要:

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

当RawContacts共享一些常见的数据(姓名,电话号码,电子邮件等)时,联系人碰巧有几个RawContact。通过自动聚合规则将此RawContacts联合到单个联系人中(请参阅Contact Basics docs)。

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

  

注意:如果您尝试使用insert()将联系人添加到Contacts Provider,则会收到UnsupportedOperationException异常。如果您尝试更新列为"只读的列,"更新被忽略。