2012-03-04 40 views
3

以下是從Android文檔如何獲取Android中的通訊錄API「查找關鍵字」?

您能夠從接觸器自身查找鍵,它是在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(); 
} 

,但不能讓它的工作。

我#2 here和0123拜訪答案但靜脈。

任何幫助將不勝感激。

回答

3

本文檔中的代碼與如何使用查找密鑰一旦得到它,而不是如何獲取它相關。

就像他們說的,你可以從聯繫人表中獲取它。因此,爲了獲得聯繫人列表中每個聯繫人的,您可以使用以下投影(其餘代碼僅在此處顯示結果,您可以根據需要使用它):

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)); 
} 
+0

我的回答有問題嗎?總是樂於學習新事物,但是請您投票時解釋原因?!因爲我真的認爲這是對他的問題的一個很好的回答,因爲它確實爲每個聯繫人提供了查找鍵(我編寫了代碼並對其進行了測試)。 – 2012-03-04 12:49:20

+0

我不知道誰低估了它,我仍然試圖理解你的答案,一旦我完成,我會發表評論。 – 2012-03-04 12:53:20

+0

每個聯繫人都有一個'lookupKey'。我的答案中顯示的代碼可以幫助你爲每個人獲得'lookupKey'。如果不清楚,請隨時要求進一步解釋。 – 2012-03-04 12:56:01

相關問題