2013-02-27 28 views
0

我正在嘗試創建一個函數,它將採用String作爲參數,它將返回Contact_ID作爲提供電話號碼的聯繫人,例如String獲取給定號碼的CONTACT_ID

我已經發現了下面的代碼

private String getContactName (String number) 
{ 
    String contactName = ""; 
    ContentResolver context = getContentResolver(); 

    /// number is the phone number 
    Uri lookupUri = Uri.withAppendedPath(
    PhoneLookup.CONTENT_FILTER_URI, 
    Uri.encode(number)); 

    String[] mPhoneNumberProjection = { PhoneLookup._ID, PhoneLookup.NUMBER, PhoneLookup.DISPLAY_NAME }; 

    Cursor cur = context.query(lookupUri,mPhoneNumberProjection, null, null, null); 
    try 
    { 
     if (cur.moveToFirst()) 
     { 
      contactName = cur.getString(2); 
      return contactName; 
     } 
    } 
    finally 
    { 
     if (cur != null) 
      cur.close(); 
    } 
    return contactName; 
} 

它返回所有contactsName對於給定數目。 如何從這裏獲取聯繫人ID?

謝謝!

+0

看看這個類:http://developer.android.com/reference/android/provider/ContactsContract.PhoneLookup.html – rciovati 2013-02-27 16:07:41

+0

感謝您的快速響應! 你能給我提供一些示例代碼嗎? – user2116122 2013-02-27 16:10:01

+0

你可以在這裏罰款一些代碼:http://stackoverflow.com/questions/2174048/how-to-look-up-a-contacts-name-from-their-phone-number-on-android – rciovati 2013-02-27 16:23:19

回答

0

您只需將cur.getString(2)替換爲cur.getString(0)即可。你已經有了_ID作爲你投影的一部分(BTW可以簡化爲_ID)。

+1

謝謝!就在我眼前... – user2116122 2013-03-01 09:26:21

+0

我應該提一下,_ID只是行ID不是CONTACT_ID – Calin 2015-02-19 15:15:55