我需要知道是否可以加入两个或多个联系人(以编程方式,使用 Contacts android API 或其他方式)。
例如,我有一个联系人“Axel Rose”,有一个电子邮件帐户和一个电话号码,我注意到一些应用程序(如 whatsapp、Facebook 和 Skype)正在为 Axel Rose 创建新的联系人条目,而不是合并现有的条目。
我可以使用手机中的“加入功能”加入联系人,但有没有程序化方式?
提前致谢。
克里斯蒂安。
您可以使用AggregationExceptions。请参阅如何手动聚合联系人?
了解联系人和聚合如何工作的好地方是Contacts Provider Documentation
简短的摘要:
您在电话簿上看到的联系人是 ContactsContract.Contacts 表中的联系人。电话簿上显示的照片、电话等来自不同的 RawContacts 条目。一个联系人可以有一个或多个 RawContact。
当 RawContact 共享一些公共数据(姓名、电话号码、电子邮件等)时,一个联系人恰好有多个 RawContact。这个 RawContacts 并入单个 Contact 是通过自动聚合规则进行的(请参阅Contact Basics文档)。
您不能在 ContactsContract.Contacts 表中插入联系人。从文档中:
注意:如果您尝试使用 insert() 将联系人添加到 Contacts Provider,您将收到 UnsupportedOperationException 异常。如果您尝试更新列为“只读”的列,则会忽略更新。