private void addContactToGroup(int contactId,int groupId) {
//judge whether the contact has been in the group
boolean b1 = ifExistContactInGroup(contactId, groupId);
if (b1) {
//the contact has been in the group
return;
} else {
ContentValues values = new ContentValues();
values.put(ContactsContract.CommonDataKinds.GroupMembership.RAW_CONTACT_ID,contactId);
values.put(ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID,groupId);
values.put(ContactsContract.CommonDataKinds.GroupMembership.MIMETYPE,ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE);
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
}
}
private boolean ifExistContactInGroup(int contactId, int groupId) {
String where = Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE
+ "' AND " + Data.DATA1 + " = '" + groupId
+ "' AND " + Data.RAW_CONTACT_ID + " = '" + contactId + "'";
Cursor markCursor = getContentResolver().query(Data.CONTENT_URI, new String[]{Data.DISPLAY_NAME}, where, null, null);
if (markCursor.moveToFirst()) {
return true;
}else {
return false;
}
}