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