获取与给定的电话号码集匹配的联系人列表

时间:2013-03-23 10:24:47

标签: android android-contacts

我正在尝试获取与给定电话号码相匹配的联系人列表,有人可以建议我如何在Android中执行此操作。

例如,我有3个电话号码[883338383,93939311,89898999],它们是用于搜索的输入。我需要获得与这些数字匹配的联系人列表。

1 个答案:

答案 0 :(得分:0)

您可以指定URI和查询以获取电话号码的联系信息。

Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber));

Cursor cursor = mContext.getContentResolver().query(contactUri, null, null, null, null);

上面代码返回的光标应包含您要查找的联系人,您可以解析它以获取所需信息:

if(cursor.moveToFirst()){
    int personIDIndex = cursor.getColumnIndex(Contacts.Phones.PERSON_ID);
    //etc
}

如果没有与给定号码联系,则查询将返回null。因此,请确保在准备之前t0检查光标是否为空值,否则您将获得NullPointerException