我正在尝试根据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
}