检索特定联系人的所有详细信息
Posted
技术标签:
【中文标题】检索特定联系人的所有详细信息【英文标题】:Retrieving all details for a specific contact 【发布时间】:2018-10-29 17:52:04 【问题描述】:我有 android 中特定联系人的 ID 和查找键。
据此,我需要提取用户保存的所有详细信息。详细信息包括联系人、电子邮件 ID、地址、电话号码、传真、Facebook ID 等。
这是文档中给出的内容
检索所有数据的投影:
private static final String PROJECTION =
Data._ID,
Data.MIMETYPE,
Data.DATA1,
Data.DATA2,
Data.DATA3,
Data.DATA4,
Data.DATA5,
Data.DATA6,
Data.DATA7,
Data.DATA8,
Data.DATA9,
Data.DATA10,
Data.DATA11,
Data.DATA12,
Data.DATA13,
Data.DATA14,
Data.DATA15
;
但是我怎么知道哪些字段与哪个字段相关呢?这些 DATA 字段是通用字段,文档有点混乱。谁能帮我解析这个投影给出的光标?
这里是我指的documentation。
【问题讨论】:
【参考方案1】:您需要首先检查Data.MIMETYPE
,根据mimetype,您可以推断出哪个数据值驻留在哪个DATA
项目中。
例如,如果MIMETYPE
是CommonDataKinds.Phone.CONTENT_ITEM_TYPE
,那么您可以检查此表中描述的别名以了解这些值:
https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone#column-aliases
或者,您可以将PROJECTION
更改为:
private static final String PROJECTION =
Data._ID,
Data.MIMETYPE,
Phone.NUMBER,
Phone.TYPE,
Email.ADDRESS,
Email.TYPE,
...
由于这些别名转换为同一组常量(DATA1、DATA2 等),因此不会影响性能,并且代码可能更具可读性。
【讨论】:
以上是关于检索特定联系人的所有详细信息的主要内容,如果未能解决你的问题,请参考以下文章