以下内容来自Android文档
您可以从联系人本身获取查找密钥,它是一列 在ContactsContract.Contacts表上。
Uri lookupUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey)
Cursor c = getContentResolver().query(lookupUri, new String[]{Contacts.DISPLAY_NAME}, ...);
try {
c.moveToFirst();
String displayName = c.getString(0);
} finally {
c.close();
}
但无法让它发挥作用。
我在Stackoverflow here和here上访问了答案,但仍然是静脉。
任何帮助都将受到高度赞赏。
答案 0 :(得分:3)
文档中的代码与如何使用 lookupKey 相关,而不是如何获取它。
就像他们说的那样,你可以从Contacts表中获取它。因此,为了获取联系人列表中每个联系人的 lookupKey ,您可以使用以下投影(提供的其余代码仅用于显示结果,您可以使用它作为您想):
String [] PROJECTION = new String [] { ContactsContract.Contacts.LOOKUP_KEY };
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, PROJECTION, null, null, null);
for(cursor.moveToFirst(); cursor.moveToNext(); cursor.isAfterLast()) {
Log.d(LOG_TAG, "lookupKey for contact: " + cursor.getString(1) + ", is: " + cursor.getString(0));
}