ITEEDU

GroupAPI

这里要用到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;
	}
}