Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Deleting a contact using first and last name

Status
Not open for further replies.

Grassland

MIS
Jan 24, 2005
7
US
I am new when it comes to working with contacts. Here is my code I am using. It only errors when I supply a first and last name. If I supply only a display name it works fine. I am guessing it is something to do with my selection line.

private void deleteContact(String displayName, String firstName,
String lastName) {

String selection = "";

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder op = ContentProviderOperation.newDelete(ContactsContract.RawContacts.CONTENT_URI);

//Check is display name not empty
if(!displayName.isEmpty()) {
String[] selectionArgs1 = new String[] {displayName};
selection = ContactsContract.Data..DISPLAY_NAME + " = ? ";
op.withSelection(selection, selectionArgs1);
ops.add(op.build());
}

//Check is first and last name not empty
if(!firstName.isEmpty() && !lastName.isEmpty()) {
String[] selectionArgs2 = new String[] {firstName,lastName};
selection = String.valueOf(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME) + " = ? AND " + String.valueOf(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME) + " = ? " ;
op.withSelection(selection, selectionArgs2);
ops.add(op.build());
}

try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {

e.printStackTrace();
} catch (OperationApplicationException e) {

e.printStackTrace();
}
}
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top