其他分享
首页 > 其他分享> > 如何在Android联系人API中获取“查找关键字”?

如何在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 herehere的答案,但确实如此.

任何帮助将不胜感激.

解决方法:

文档中的代码与获取后如何使用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