关于andorid 联系人查询,这段段码不明白怎么回事?

遇到一个难题,请大家帮帮忙。是这样的一段代码:

public static String findNameByNumber(Context ctx, String number) {

String name = null;


Uri uri2 = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, number);


Cursor cursor = ctx.getContentResolver().query(uri2,

new String[] { "display_name" }, null, null, null);

if (cursor.getCount() == 0) {

return null;

} else {

// cursor 返回时,默认指向的是 第一行的上一行,即 -1 行 ,而所有的数据是从 第 0行开始的。

cursor.moveToNext();

name = cursor.getString(0);// cursor 仅查询一列内容,所以取的时候,列的索引值为 0

}

return name;

}



这个代码中 Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, number),我看出来是对uri进行的拼接,拼接好了之后,应该是这样的:content://com.android.contacts/phone_lookup/""这是字符串  。很明显查的是contact2数据库中的表phone_lookup表。然后到下面这段,我就怎么也搞不明白了,

Cursor cursor = ctx.getContentResolver().query(uri2,new String[] { "display_name" }, null, null, null);  他查询的是“dispaly_name”字段,但是这个phone_lookup表中并没有这个叫做"dispaly_name"字段呀。请问这是怎么回事呀



xiaokai2015
浏览 1100回答 1
1回答

Mopel

有这个字段啊ContactsContract.PhoneLookup.DISPLAY_NAME 的值就是
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android