获取给定号码的CONTACT_ID

时间:2013-02-27 16:03:34

标签: android

我正在尝试创建一个以String作为参数的函数,它将返回Contact_ID,用于具有电话号码的联系人,例如提供的String。< / p>

我已经找到以下代码

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?

谢谢!

1 个答案:

答案 0 :(得分:0)

您只需将cur.getString(2)替换为cur.getString(0)即可。您已经将_ID作为预测的一部分(BTW可以简化为_ID)。