指定类型获取号码
private Cursor getPhoneByType(String contactId, int type) {
Cursor phone = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId + " AND "
+ ContactsContract.CommonDataKinds.Phone.TYPE + "="
+ type, null, null);
return phone;
}
Cursor phone = null;
// 获取手机号码
phone = getPhoneByType(contactId,
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
while (phone.moveToNext()) {
Log.i("phone",String.valueOf(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
mobilePhone = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("mobilePhone", mobilePhone);
}
// //获取家庭号码
phone = getPhoneByType(contactId,
ContactsContract.CommonDataKinds.Phone.TYPE_HOME);
while (phone.moveToNext()) {
homePhone = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("homePhone", homePhone);
}
// //获取单位传真
phone = getPhoneByType(contactId,
ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);
while (phone.moveToNext()) {
fax = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
// Log.i("fax", fax);
}
// //获取单位电话
phone = getPhoneByType(contactId,
ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE);
while (phone.moveToNext()) {
workMobile = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
或者
Cursor phone = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId , null, null);
//取得电话号码(可能存在多个号码)
while (phone.moveToNext()) {
listPhone.add( phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
Log.i("phone",phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
String number=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String phoneNumberType = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
Log.i("type", phoneNumberType);
switch (Integer.parseInt(phoneNumberType)) {
case 1:
homePhone=number;
break;
case 2:
mobilePhone=number;
break;
case 3:
workMobile=number;
break;
case 4:
fax=number;
break;
default:
break;
}
}