2012-08-15 81 views
9

我需要知道,如果是可以連接兩個或多個聯繫人(以編程的方式,使用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

回答

1

您可以使用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

相關問題