如何在Android联系人API中获取“查找关键字”?
作者:互联网
以下是来自Android文档
You can acquire a lookup key from the contact itself, it is a column
on the ContactsContract.Contacts table.
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的答案,但确实如此.
任何帮助将不胜感激.
解决方法:
文档中的代码与获取后如何使用lookupKey有关,而不与如何获取有关.
就像他们说的那样,您可以从“联系人”表中获取它.因此,为了获取联系人列表中每个联系人的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));
}
标签:android-contacts,android 来源: https://codeday.me/bug/20191201/2082391.html