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

问题描述:

我需要知道,如果是可以连接两个或多个联系人(以编程的方式,使用Android的通讯录API或东西)。如何以编程方式在Android中加入2个联系人?

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

我可以加入使用从手机“加入功能”的接触,但有一种编程方式?

在此先感谢。
Cristian。

+3

是的,这是可行的,但似乎太大编码的答案给你做的。但是您需要找到联系人,获取所有信息,删除旧联系人并创建一个联合的新联系人。我会从这里开始:http://developer.android.com/reference/android/provider/ContactsContract.html – 2013-02-28 20:31:13

+0

@MichaelWildermuth把它作为答案。你告诉他如何去做,而这正是他所要求的,代码的答案并不总是最好的答案。 – Warpzit 2013-12-02 13:08:43

+0

@crist你有没有得到任何适用的解决方案.. – Ranjit 2014-12-10 04:33:29

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

一个很好的了解接触和聚集的工作原理是Contacts Provider Documentation

简短的摘要:

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

A联系人恰巧有几个RawContact当RawContacts就共同(姓名,电话号码,电子邮件等)的一些数据。将这个RawContacts合并成一个联系人是由自动聚合规则完成的(参见Contact Basics文档)。

您不能插入在ContactsContract.Contacts表联系人。 从文档:

注意:如果您尝试将联系人添加到联系人提供程序与插件(),你会得到一个UnsupportedOperationException异常。如果您尝试更新列为“只读”的列,则更新将被忽略。

+0

我找不到你已经显示的文档的部分,谈论合并/联系的联系人。有没有可用的教程?例如,我注意到Google的最新联系人应用允许链接/合并多个联系人。它是开源的吗?它是如何工作的?你能否显示合并/链接联系人的示例代码? – 2017-02-28 15:36:00