// 获得多个号码
public ListAdapter getMoreContacts(String name) {
contactIdCur = null;
if (name == null || name.equals("") || name.length() == 0) {
// query
contactIdCur = getContentResolver()
.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] {
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
null, null, null, null);
}// if
else {
// condition query
contactIdCur = getContentResolver()
.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] {
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
Contacts.DISPLAY_NAME + " LIKE ? and "
+ Contacts.HAS_PHONE_NUMBER + " = 1",
new String[] { "%" + name + "%" },
Contacts.DISPLAY_NAME, null);
}
contactsData = new ArrayList<Contract>();
if (contactIdCur != null) {
while (contactIdCur.moveToNext()) {
contract = new Contract();
// get data
contract.setName(contactIdCur.getString(contactIdCur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
long contactid = contactIdCur
.getLong(contactIdCur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));
// query numbers by ID
Cursor numbers = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="
+ contactid, null, null);
phones = new ArrayList<String>();
while (numbers.moveToNext()) {
// get data
phones.add(numbers.getString(numbers
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
}
contract.setPhones(phones);
contactsData.add(contract);
}
}
contactIdCur.close();
ContractAdapter contractAdp = new ContractAdapter(ContactActivity.this,
R.layout.contacts_list_row, contactsData);
return contractAdp;
}