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<Contact>(); if (contactIdCur != null) { while (contactIdCur.moveToNext()) { contact = new Contact(); // get data contact.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 phoneObjectCur = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactid, null, null); phones = new ArrayList<Phone>(); while (phoneObjectCur.moveToNext()) { // get number String number = phoneObjectCur.getString(phoneObjectCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); //get type int typeId = phoneObjectCur.getInt(phoneObjectCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE)); String type = typeId2String(typeId); Phone phone = new Phone(); phone.setNumber(number); phone.setType(type); phones.add(phone); } contact.setPhones(phones); contactsData.add(contact); } } contactIdCur.close(); ContactAdapter contractAdp = new ContactAdapter(ContactActivity.this, R.layout.contacts_list_row, contactsData); return contractAdp; }
如何获取一个联系人下的多个号码和号码类别
猜你喜欢
转载自jameskaron.iteye.com/blog/2188058
今日推荐
周排行