首页 > 解决方案 > 如何区分android中的android主要联系人?

问题描述

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

_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,但看起来更像是黑客。

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

标签: androidandroid-contentproviderandroid-contactscontactscontract

解决方案


正如您所发现的,在 RawContacts 中没有主要联系人的概念,但是,您不能真正依赖每个联系人都具有 Google 原始数据或仅电话原始数据。

您会发现有些用户的联系人由 Exchange 联系人、Yahoo 联系人或您未听说过的其他联系人组成,或者联系人与这些联系人和其他联系人的任意组合。

无论您要做什么,都应该有一种方法可以做到这一点,而无需从连接的原始数据中选择一个原始数据


推荐阅读