目标:我尝试将来自同一(已知)联系人的短信和来电分组。
Telephony.Sms.Inbox.CONTENT_URI
和Telephone.Sms.Sent.CONTENT_URI
阅读短信。CallLog.Calls.CONTENT_UTI
来阅读来电。我通过关注android is CallLog.Calls._ID the same with the contact id?获取联系人ID:使用Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, phoneNumber)
。
现在,有了这个PhoneLookup._ID
,我想列出该联系人的短信。
可悲的是Telephony.Sms.PERSON
似乎没有存储相同的联系人ID。
问题:我如何列出来自PhoneLookup._ID
的短信,或者如果不可能,我怎样才能达到我的目的:列出来自同一联系人的短信和来电。
PS:Telephony.TextBasedSmsColumns.PERSON
似乎引用了已弃用的Contacts.People
API ...
答案 0 :(得分:0)
Telephony.Sms.PERSON
实际上匹配ContactsContract.DataColumns.RAW_CONTACT_ID
。
所以我用过:
final Cursor cursor = getContentResolver()
.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, selection, null, null);
阅读ContactsContract.DataColumns.RAW_CONTACT_ID
。