假设:
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);
但是我收到错误说"无效列:data1" ,我猜这是指Phone.NUMBER
字段。这可能是因为它引用了没有该字段的联系人表格?
根据其他答案,我可以使用_ID
获取联系方式,但我只想使用URI。
另外,你能告诉我什么
ContactsContract.Contacts.lookupContact()
呢?该文档说明它为我提供了内容URI,但它与查找URI有何不同?
答案 0 :(得分:0)
您收到无效列:data1 ,因为ContactsContract.CommonDataKinds.Phone.NUMBER
和ContactsContract.CommonDataKinds.Email.ADDRESS
的值与“data1”相同。
你无法直接获得这些信息。