Android如何将短信对话与联系簿相匹配?

时间:2014-02-23 18:01:20

标签: android

在三星Galaxy上,这些是与上一次短信对话关联的列(content://mms-sms/conversations?simple=true

_id -> 45
date -> 1393156771994
message_count -> 63
recipient_ids -> 46
snippet -> hey what's up
snippet_cs -> 0
read -> 1
type -> 0
error -> 0
has_attachment -> 1
unread_count -> 0
alert_expired -> 1
reply_all -> -1
group_snippet -> null
message_type -> 0
display_recipient_ids -> 46

这些是与Phone.CONTENT_URI

中联系人姓名相关联的列
_id -> 396
data1 -> +33... (phone number)
data1 -> +33... (phone number)
data2 -> 2
data3 -> null
data4 -> +33... (phone number)
data1 -> +33... (phone number)
data5 -> null
data6 -> null
data7 -> null
data8 -> null
data9 -> null
data10 -> null
data11 -> null
data12 -> null
data13 -> null
data14 -> null
data15 -> null
display_name -> Thomas XXX
display_name_alt -> XXX, Thomas
display_name -> Thomas XXX
display_name_source -> 40
data4 -> +33... (phone number)
data1 -> +33... (phone number)
raw_contact_id -> 56
contact_id -> 407

所以......我在这里看不到46号?他们如何将短信对话与联系人ID相匹配? 或者换句话说,给定sms线程,如何检索联系人姓名?

1 个答案:

答案 0 :(得分:0)

我看起来是通过匹配地址(电子邮件或电话号码)来完成的 Android代码的这一部分可能会有所帮助,虽然我对MMS / SMS子系统不太熟悉,但仍承诺:

https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/refs/heads/tools_r22/src/com/android/providers/telephony/MmsSmsProvider.java