0

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

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

4

1 回答 1

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.

于 2013-03-23T10:28:38.810 回答