if (resultCode == Activity.RESULT_OK) {
ContentResolver reContentResolverol = this.getContentResolver();
// URI,每个ContentProvider定义一个唯一的公开的URI,用于指定到它的数据集
Uri contactData = data.getData();
// 查询就是输入URI等参数,其中URI是必须的,其他是可选的,如果系统能找到URI对应的ContentProvider将返回一个Cursor对象.
Cursor cursor = reContentResolverol.query(contactData, null, null,
null, null);
cursor.moveToFirst();
// 获得DATA表中的名字
mConUserName = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// 条件为联系人ID
String contactId = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
// 获得DATA表中的电话号码,条件为联系人ID,因为手机号码可能会有多个
Cursor phone = reContentResolverol.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId, null, null);
while (phone.moveToNext()) {
mConNum = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
Log.i("Saxon", "--" + mConUserName + "--" + mConNum);
Contact contact = new Contact();
contact.setName(mConUserName);
contact.setNumber(mConNum);
mConUserName为空,大家知道怎么办吗?其实,这个问题,很多人都会碰到的哦,我这几天也是一直在思考呢。呵呵。