如何在android中区分android主要联系人?

时间:2018-09-07 09:25:43

标签: android android-contentprovider android-contacts contactscontract

我有几个原始联系人链接到一个联系人:

_id - 130
contact_id - 17434
account_type - com.google
aggregation_mode - 0
account_name - ...@gmail.com
display_name - ...
raw_contact_is_user_profile - 0

_id - 230
contact_id - 17434
account_type - com.whatsapp
aggregation_mode - 0
account_name - WhatsApp
display_name - ...
raw_contact_is_user_profile - 0


_id - 17217
contact_id - 17434
account_type - com.example
aggregation_mode - 0
account_name - Example
display_name - ...
raw_contact_is_user_profile - 0

它们属于不同的帐户,是否有一种可靠的方法来确定哪个是“主要”原始联系人?一种可能的解决方案是检查每个联系人在DATA列中有多少个字段,但看起来更像是黑客。

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

似乎没有主帐户的概念,因此如here所述,对于用户不同步其联系人的情况,我可以使用com.google或不使用帐户的帐户。

答案 1 :(得分:0)

您已经发现,RawContacts中没有这样的主要联系人概念,但是,您不能真正依靠每个联系人拥有Google原始联系人或仅使用电话的原始联系人。

您会发现有些用户的联系人包含交换联系人,Yahoo联系人或您从未听说过的其他联系人,或者包含这些联系人和其他联系人的任意组合。

无论您要做什么,都应该有一种方法,而不必从合并的Raw中选择单个Raw