我正在尝试根据Android 1.6上的电话号码查询联系信息。这是我尝试的代码。但我在光标中得到的计数等于0。

    String selection = "PHONE_NUMBERS_EQUAL(" + People.Phones.NUMBER + " , "   + phoneNumber + ")";
    Cursor cursor = mContext.getContentResolver().query(People.CONTENT_URI,
            new String[] {People._ID, People.NAME, People.Phones.NUMBER},
            selection, null, null);


您知道为什么它不起作用吗?

谢谢。

最佳答案

您可以指定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
}

10-07 19:47
查看更多