这里要用到ContactAPI里的类,和上面是一做的。这里只是一个示例,实际还要有对组的增删改查和对联系人的组属性的设置等接口。以后可能做一部分联系人高级教程再来写吧,联系人的API也只有查询,可能也要将来写了。其实是站长还没研究那些功能。呵呵。
package com.iteedu.www; import android.content.ContentResolver; import android.database.Cursor; import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds.*; public class GroupAPI5 { private ContentResolver cr; public GroupAPI5(ContentResolver cr) { this.cr = cr; } public ContactNameList getContactsByGroupID(String id) { ContactAPI api = ContactAPI.getAPI(); api.setCr(cr); ContactNameList cnl = new ContactNameList(); String[] RAW_PROJECTION = new String[] { ContactsContract.Data.RAW_CONTACT_ID, }; String RAW_CONTACTS_WHERE = GroupMembership.GROUP_ROW_ID + "=" + id + " and " + ContactsContract.Data.MIMETYPE + "='" + GroupMembership.CONTENT_ITEM_TYPE + "'"; Cursor cur = cr.query(ContactsContract.Data.CONTENT_URI, RAW_PROJECTION, RAW_CONTACTS_WHERE, null, null); if (cur.getCount() > 0) { ContactName cn = null; while (cur.moveToNext()) { id = cur.getString(0); if (id == null || id.equals("")) continue; cn = api.getContactNameByID(id); if (cn != null) cnl.addContactName(cn); } } return cnl; } public void setCr(ContentResolver cr) { this.cr = cr; } }