【问题标题】:Looking for a common Contact ID between Telephony.Sms and CallLog.Calls寻找 Telephony.Sms 和 CallLog.Calls 之间的通用联系人 ID
【发布时间】:2015-09-09 00:34:45
【问题描述】:

目标:我正在尝试将来自相同(已知)联系人的短信和电话分组。

  • 我使用Telephony.Sms.Inbox.CONTENT_URITelephone.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...

【问题讨论】:

    标签: android android-sqlite android-contacts


    【解决方案1】:

    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

    https://developer.android.com/reference/android/provider/ContactsContract.DataColumns.html#RAW_CONTACT_ID

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      相关资源
      最近更新 更多