【问题标题】:Get Contact Details Given the Lookup URI给定查找 URI 获取联系人详细信息
【发布时间】:2018-01-17 06:17:56
【问题描述】:

给定:

Uri contactLookupURI = ContactsContract.Contacts.getLookupUri(contactID, lookupKey);

我如何使用它来获取联系人的详细信息,例如电话、电子邮件等?

我试过了:

String[] CDETAIL_PROJECTION = {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME_PRIMARY,
            ContactsContract.CommonDataKinds.Phone.NUMBER,
            ContactsContract.CommonDataKinds.Email.ADDRESS,
    };


Cursor detail_cursor = getContext().getContentResolver().query(contactLookupURI, CDETAIL_PROJECTION, null, null, null);

但我收到一条错误消息,提示 "Invalid column: data1" 我猜这是指Phone.NUMBER 字段。这可能是因为它引用了没有该字段的联系人表?

根据其他答案,我可以使用_ID 获取联系方式,但我只想使用URI。

还有,你能告诉我什么

ContactsContract.Contacts.lookupContact() 

有吗?文档说明它给了我内容 URI,但它与查找 URI 有什么不同?

【问题讨论】:

    标签: android


    【解决方案1】:

    您得到 Invalid column: data1,因为 ContactsContract.CommonDataKinds.Phone.NUMBERContactsContract.CommonDataKinds.Email.ADDRESS 都具有与 data1 相同的值。 您无法直接获取此信息。

    这是从用户https://stackoverflow.com/a/40540640/2941375获取电子邮件和号码的解决方案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2012-02-21
      • 1970-01-01
      • 2012-06-17
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多